前端代码如下
function loginAction(){
var name=$('#count').val();
var password=$('#password').val();
if(checkName()+checkPassword()!=2){
return;
}
var parameter={"name":name,"password":password};
$.ajax({
url:'user/login.do',
type:'POST',
data:parameter,
dataType:'json',
success:function(result){
if(result.state==0){
location.href='edit.html';
return;
}else if(result.state==2){
//用户名错误
$('#count-msg').html(result.message);
return;
}else if(result.state==3){
//密码错误
$('#password-msg').html(result.message);
return;
}
alert(result.message);
},
error:function(){
alert('AJAX传输失败');
}
});
}
后端代码如下
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@RequestMapping("/login.do")
@ResponseBody
public JsonResult login(String name,String password){
try {
User user=userService.login(name, password);
return new JsonResult(user);
} catch (UserNameException e) {
e.printStackTrace();
return new JsonResult(3,e);
}catch (PasswordException e) {
e.printStackTrace();
return new JsonResult(2,e);
}
catch (Exception e) {
e.printStackTrace();
return new JsonResult(e);
}
}
}
报错信息如下
XMLHttpRequest cannot load file:///D:/tts9/workspace/note2/src/main/webapp/user/login.do.
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.send @ jquery-1.11.3.js:9664
网上搜索出来说是ajax跨域,需要用jsonp,但是上次做过相同的项目,上次都可以成功,这次ajax无缘由的就连接失败了,感觉很奇怪。
另外,jsonp该怎么使用呢。