Jquery - 将post属性发送到另一个域

时间:2015-04-15 11:19:45

标签: javascript html json

我尝试将POST属性从客户端发送到另一个域中的服务器。

由于简单的json dataType不能在跨域工作, 我已尝试使用JSONP

<script>
var lookup = {'username':'admin'}

$.ajax({
    url: "https://somesite.com/router.php",
    type: "post",    
    data: JSON.stringify(lookup),   
    dataType: "jsonp",
    success: function(response) {
        alert(response);
    },
    failure: alert("failed")
});
</script>

然后它发送它作为GET而不是POST。 这就是Fiddler的样子:

Request URL: https://somesite.com/router.php?callback=jQuery172016627637017518282_1429096551228&{%22username%22:%22admin%22}&_=1429096552070
Request Method: GET
Status Code: 500

Query Url
callback: jQuery172016627637017518282_1429096551228
_: 1429096552070

那么如何将此参数(用户名= admin)作为POST发送到跨域?

感谢。

2 个答案:

答案 0 :(得分:0)

您必须将method: 'POST'添加到您的ajax调用中,否则jQuery会将您的data对象附加到URL(GET参数)

Source

答案 1 :(得分:0)

您可以从控制器发送请求或配置目标服务器以接受请求。

即。在.htaccess

<ifModule mod_headers.c>
    Header set Access-Control-Allow-Origin: *
</ifModule>