jQuery.ajax({
url:'http://192.168.1.100:8080/hehe/modifyPass2',
//data:{resetKey:$.getUrlParam('resetKey'), password:$("#newpass").val()},
data:{resetKey:1, password:$("#newpass").val()},
type:'POST',
dataType:"json",
async: false,
success:function(data){
console.log(data);
$("#modifySuccess").css({'display':'inline'});
$("#modifySuccess").html(data.result);
},
error:function(){
alert("hehe");
}
});
现在的情况:浏览器中输入http://127.0.0.1:8080/hehe/modifyPass2
得到的是{"result":true,"discribe":"修改密码成功,你可以使用新密码登陆"}
客户端jquery调用,在firebug中看到的情况是,
若dataType:"json",则状态是200 OK,响应数据是空,调试的话,不执行success而是弹出hehe。
若dataType:"script",同样的则状态是200 OK,调试的话,不执行success而是弹出hehe,但是响应数据能看到是{"result":true,"discribe":"修改密码成功,你可以使用新密码登陆"}
看你返回json格式是对的,应该是跨域了,跨域了200但是得不到返回的结果。script加载直接是json会出错,json不是js代码,不知道什么是跨域详细自己百度,简单说是一个域请求另外一个域(端口,协议不一样也算跨域)
https://zhidao.baidu.com/question/1638124971453696500.html
看看是不是打开了防火墙?
直接用ajax提交表单好像地址栏会带参数的,就算写了post提交方式,具体原因不明,然后服务端返回数据找不到地址。我以前是先调用jquery的validate验证插件,在主方法里面再写ajax内容解决问题。
去掉dataType:"json"试试
data格式不对,你的dataType写的是json 但你传给后台的值,也就是你的data是json吗? 建议你百度好好看一下,json的格式。 键加“” ,如下: data:{"resetKey":1, "password":$("#newpass").val()},
明显是data的格式错误
1.data格式有问题;2.查看服务端程序是不是后面有错误,有时候先返回数据之后,后面代码有错误也会报错,具体看情况