JQuery POST请求转换为OPTIONS.为什么?

has*_*shg 7 ajax jquery post response options

我明确指定了一个POST,我没有在Request中看到post数据,而且更多的指定它有一个OPTIONS.

响应应该是HTML,以表格格式指定匹配用户到Query.我试图发布和阅读html来创建一个自动完成输入框.

这个Jquery代码:

$.post('https://internal.company.com/data/displayUserList',
    { Email: "", Name: "%GEORGE%"}, 
    function(responseText, textStatus) {
        console.log("Response:\n" + responseText + textStatus)
    }
);
Run Code Online (Sandbox Code Playgroud)

FireBug1.6.1捕获的请求(Firefox)

OPTIONS /data/displayUserList HTTP/1.1
Host: internal.company.com
User-Agent: Mozilla/5.0 Firefox/3.6.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: null
Access-Control-Request-Method: POST
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 10

如果您违反相同的原始政策限制,可能会发生这种情况.该Access-Control-Request-Method请求头让我觉得是这样.我看到你https://internal.company.com/data/displayUserList在帖子请求中指定了一个完整的地址.确保托管此脚本的页面也来自https://internal.company.com.最好的方法是使用相对地址:

$.post('/data/displayUserList', { Email: "", Name: "%GEORGE%" }, 
    function(responseText, textStatus) {
        console.log("Response:\n" + responseText + textStatus);
    }
);
Run Code Online (Sandbox Code Playgroud)