Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 调用跨域Web服务时获取HTTP 302状态代码?_Jquery_Asp.net_Web Services_Http Status Code 302 - Fatal编程技术网

Jquery 调用跨域Web服务时获取HTTP 302状态代码?

Jquery 调用跨域Web服务时获取HTTP 302状态代码?,jquery,asp.net,web-services,http-status-code-302,Jquery,Asp.net,Web Services,Http Status Code 302,我使用jQuery调用跨域web服务。来自本地主机的Web服务调用成功完成,当从其他域调用时,我收到HTTP 302状态代码错误 这里是web服务调用 $.ajax({ type: "POST", url: "http://wthdevsr01:45452/webservices/GetUserAcceptancePolicyStatus.asmx/GetAcceptancePolic

我使用jQuery调用跨域web服务。来自本地主机的Web服务调用成功完成,当从其他域调用时,我收到HTTP 302状态代码错误

这里是web服务调用

                $.ajax({
                    type: "POST",
                    url: "http://wthdevsr01:45452/webservices/GetUserAcceptancePolicyStatus.asmx/GetAcceptancePolicyReadStatus",
                    data: '{"userID" : \"' + $.trim(userID) + '\", "documentID" : \"' + $.trim(documentID) + '\"}',
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(result) {
                        if (result.d != '') {
                            if (result.d == '1') {
                                alert("ACCEPTED");
                            }
                            else if (result.d == '0') {
                                alert("NOT ACCEPTED");
                            }
                            else {
                                alert(result.d);
                            }
                        }
                    },
                    error:function (result) {
                        alert('Service call failed: ' + result.status + '' + result.statusText);
                    }
                });

我想知道问题出在哪里?有什么想法吗?

可能是由于JavaScript同源策略:


您可能需要在同一个域上使用服务器端代理,或者使用类似于

的东西。简而言之,不使用JSONP就不能进行跨域AJAX调用,因为安全原因,同一源策略禁止这种调用。@Nick:如何进行跨域JSONP AJAX调用?JSONP不是AJAX,它实际上是在创建一个
标记,这是一个普通的GET请求,返回一个封装在函数调用中的JSON对象,google代表“ASP.Net JSOP Web service”,这就是您要创建的…远程服务器必须主动支持JSONP(不仅仅是JSON),这是第一步。请阅读jQuery的.ajax()方法的文档。还要注意的是,您不能对JSONP调用进行POST。必须是一个得到。