无法通过XMLHttpRequest发送参数字符串

时间:2013-03-12 11:51:38

标签: javascript web-services xmlhttprequest

您好我正在尝试从Web服务获取响应,但是当我通过XMLHttpRequest.send(params)方法发送请求参数时,请求参数不会被发送。

以下是我的代码:

<script type="application/javascript">
window.onload = function myFunc()
{
    var httpRes;
    if (window.XMLHttpRequest)
    {   
        httpRes=new XMLHttpRequest();
    }
    else
    { 
        httpRes=new ActiveXObject("Microsoft.XMLHTTP");
    }   
    httpRes.open("POST", "http://192.168.11.59:3333/Reports/GenerateMobReportJsonData", true);  
    var params = {'FromDate':'02/19/2013 17:30','ReportId':'1','LocationId':'1','ToDate':'02/19/2013 19:00','TeamId':'1'}
    httpRes.setRequestHeader('content-type', 'application/json');
    var jsonReq = JSON.stringify(params);
    //alert(jsonReq)
    httpRes.send(jsonReq);
}
</script>

非常感谢任何形式的帮助......

1 个答案:

答案 0 :(得分:0)

当您使用'Application / Json'作为通信协议并且您的jquery托管服务器和Web服务服务器不同时,可能存在 CrossDomain 请求

的问题

在这里,您应该使用 Jsonp 作为通信协议。

以下是一个示例 -

http://www.jquery4u.com/json/jsonp-examples/

两个不同服务器之间的请求应该使用jsonp协议。

这里也有类似的问题 -

jQuery Ajax fails even with the HTTP 200 status

希望这对你有所帮助。