我试图通过AJAX调用设置POST来从网页注册一些基本数据。这应该是一个公共Web服务,因此可以通过包含JS脚本从任何域发送请求。
然而,在执行请求时出现错误:
否'访问控制 - 允许 - 来源'标题出现在请求的上 资源。起源' xxxxxx'因此不允许访问。 响应的HTTP状态代码为422。
服务器响应设置如下:
response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
response.headers['Access-Control-Request-Method'] = '*'
response.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Authorization'
以下是JS请求:
var params = "f="+_.open+"&t="+_.t0;
xmlhttp.open("POST",TRACKURL,true);
xmlhttp.send(params);
我觉得请求中缺少某些内容,但我无法找到解决方法。
如果您有任何想法,我会很高兴听到它。
thnaks
答案 0 :(得分:0)
我认为这可能会对您有所帮助,有一个如何进行跨域请求的示例
答案 1 :(得分:0)
我终于找到了我的问题的答案,如果这可以帮助其他人:实际上浏览器在POST请求之前发送OPTIONS请求,因此为了创建跨域AJAX请求,您需要在POST响应中设置标头和OPTIONS的回应。这可以在您的应用程序或Web服务器配置中完成。
答案 2 :(得分:-1)
您需要在客户端上使用XMLHttpRequest2或XDomainRequest(IE)对象。