"SyntaxError: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL" 这个是谷歌调试看到的异常
以下是我的ajax代码
··$.ajax({
method:"post",
type:"POST",
url: ":8080/skproject/SysLocationInfoController/testEntityData.json",
data:{"sysUserInfo.user_nm":username, "sysUserInfo.pwd":password},
datatype:"json",
success:function(data){
alert("成功了");
},
error:function(error){
alert(error);
}
}); ··
注:我的URL贴到浏览器里可以正常工作进后台。
url真的对吗?你是不是跨域了?
URL我粘贴复制到浏览器,然后我eclipse里面设置断点 可以走我的断点。 可能是跨域了,但是我不知道跨域问题在js怎么设置解决啊。我后台有设置header 但是他还进不去后台呢。
@春風: 如果跨域问题可能比较复杂,试试jsonp,还有,你把url写完整试试,确定方法是不是post,慢慢检查了,这玩意确实蛋疼。
@_Vegetables: 找了公司的女程序员,解决了 我没加http
@春風: 解决了就好
当前页面和这个.json不在同一个端口?
同一台电脑,只有一个服务器,两个IDE,我的问题是URL前面没有加HTTP:// 当我把地址粘到浏览器里的时候浏览器是会自动为我加上HTTP的所以我可以正常访问到我的后台。而我的URL不会,加上后就好了。还有的同学可能是跨域问题,这个问题需要设置header,百度一下跨域问题结局方案就OK了。
供参考:
$.ajax( { url: "http://127.0.0.1:8080/skproject/SysLocationInfoController/testEntityData.json", data:{"sysUserInfo.user_nm":username,"sysUserInfo.pwd":password}, type: "post", success:function(data) { ... } else { alert('操作失败'); } }, error:function() { alert('请求出错'); }, complete:function() { ... } });
大神一出手就知道有没有,我的错误就是URL的问题,忘记写http里。。
@春風: 看出来了