Moo*_*o33 15 ajax jquery http-post
我正在尝试向我的笔记本电脑本地托管的服务器发出POST ajax请求,但我似乎无法获得任何信息.当我单击我的站点上的一个按钮(localhost)时,我可以看到服务器传回正确的信息,但在前端我收到此错误:
错误:NetworkError:无法在'XMLHttpRequest'上执行'send':无法加载' http:// comp-ip '.
var param = JSON.stringify({varA:"varA",varB:"varB"});
$.ajax({
type: "POST",
url: "http://comp-ip",
async: false,
data: param,
success: function(result, status, xhr){
alert(result + ": " + status);
},
error: function(xhr, status, err) {
alert(status + ": " + err);
}
});
Run Code Online (Sandbox Code Playgroud)
它似乎每次都会引发错误,而不是"成功".任何人都知道出了什么问题?
编辑:我已经尝试在没有AJAX的情况下发送正常的POST请求,它也会引发"未定义"错误:
$(document).ready(function(){
var param = JSON.stringify({varA:"varA",varB:"varB"});
$("#btn").click(function(event){
$.post(
"http://ip",
param,
function(data) {
$('#container').html(data);
}
).fail(function(error) { alert(error.responseJSON) });
});
});
Run Code Online (Sandbox Code Playgroud)
我尝试过的其他事情:1)将浏览器更改为Safari(同样的事情,服务器返回信息但网站出错)2)从false设置async = true.出于某种原因,当我将其设置为true时,服务器根本不响应.当它为假时,服务器响应.
ytp*_*lai 11
几分钟前,我确实遇到了这个问题.问题是你需要设置async:false
为async:true
.我不确定为什么这会有效,我想因为HTML5比XML更新.
错误在这个网站上有点不同,但我认为它类似:JavaScript console.log导致错误:"主线程上的同步XMLHttpRequest已弃用......"
嗨,我回来了一些新的和改进的信息.Cross-Origin与端口以及域/ IP一起发生,并且可能与大多数不错的浏览器一起使用.如果您想知道发生了什么,请尝试将IP更改为localhost,反之亦然(如果您使用的是localhost).请记住,当您使用不同的端口时也会发生此问题.要快速解决问题,请确保在后端服务器的标头中放置正确的Access-Control标头response.addHeader("Access-Control-Allow-Origin", "*");
.
代码源自此问题
这是一个跨源资源问题(CORS).我的服务器正在向我返回正确的信息,但我的浏览器拒绝接受它.要修复它,我必须在我的java服务器(不是我的站点)上添加2行,将它们设置为响应头:
yourownvariable.setHeader("Access-Control-Allow-Origin:", "origin url of your site");
yourownvariable.setHeader("Access-Control-Allow-Methods", "GET, POST,PUT");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
74880 次 |
最近记录: |