请教一个Jquery get/post 跨域请求的问题?

Junyov 程序员  2020-07-13 05:36:22
想调用云服务器上的一个接口,传数据跟获取数据,请教下用什么方式跨域请求,如果修改Jquery,谢谢。

<script>
$(function(){
$("#btn2").click(function () {
var accountvalue =document.getElementById("searchaccount").value;
$.ajax({
type: "get",
contentType: "application/json; charset=utf-8",
url: "https://www.baidu.com/Customer.asmx/GetCustomer",//地址被修改掉了。
data: "{customerName:'accountvalue'}",
crossDomain:true==!(document.all),//IE10以下浏览加上这句!!!
dataType: "json",
success: function (json) {
var tbody="";
var obj= eval("("+json.d+")");
var lstCustomer=obj.list;
$.each(lstCustomer,function(n,value) {
var trs = "";
trs += "<tr><td align=center nowrap><a href=javascript:pickup2('"+value.name+"','"+value.id+"');>选择</a></td><td align=center nowrap> "+value.id+" </td> <td align=center nowrap>"+value.name+"</td> <td align=center nowrap>"+value.model+"</td></tr>";
tbody += trs;
});
$("table").append(tbody);
},
error: function (error) {
alert("调用出错" + error.responseText);
}
});
});
});
</script>


...全文
16593 点赞 收藏 7
写回复
7 条回复
Junyov 2020年07月19日
引用 2 楼 有一只柴犬 的回复:
1.jsoup 2.nginx配置Access-Control-Allow-Origin *
你好,感谢回复,通过改的服务端添加Access-Control-Allow-Origin * get方法正常,但是post 一直走的error,不太清楚什么原因,咨询下,谢谢。
$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
					dataType: "json",
                    url: "https://www.baidu.ink/ProjectService.asmx/CreateProject",//地址被修改掉了。
					//data:{"jsonStr":jsontr},
					data:jsontr,//var jsontr = JSON.stringify(object);
					crossDomain:true==!(document.all),//IE10以下浏览器需 加上这句!!
                    success: function () {
					  //console.log(data);
					  alert("调用成功:");
                      alert(data);
                  	},
                     error: function () {	 
					 alert("调用失败:");}
                });
            });
回复 点赞
Junyov 2020年07月19日
引用 1 楼 街头小贩 的回复:
jsoup是可以跨域的。若服务api是RestFul原则上也是支持跨域的但需要认证
你好,感谢回复,通过改的服务端添加Access-Control-Allow-Origin * get方法正常,但是post 一直走的error,不太清楚什么原因,咨询下,谢谢。
$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
					dataType: "json",
                    url: "https://www.baidu.ink/ProjectService.asmx/CreateProject",//地址被修改掉了。
					//data:{"jsonStr":jsontr},
					data:jsontr,//var jsontr = JSON.stringify(object);
					crossDomain:true==!(document.all),//IE10以下浏览器需 加上这句!!
                    success: function () {
					  //console.log(data);
					  alert("调用成功:");
                      alert(data);
                  	},
                     error: function () {	 
					 alert("调用失败:");}
                });
            });
回复 点赞
Junyov 2020年07月19日
引用 8 楼 有一只柴犬 的回复:
是否配置了跨域请求方式?Access-Control-Allow-Methods,get,post,put等
是的 设置过了。
<httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
        <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>
回复 点赞
有一只柴犬 2020年07月19日
是否配置了跨域请求方式?Access-Control-Allow-Methods,get,post,put等
回复 点赞
简_洋 2020年07月16日
https://segmentfault.com/a/1190000022398875 干就完了
回复 点赞
有一只柴犬 2020年07月15日
1.jsoup 2.nginx配置Access-Control-Allow-Origin *
回复 点赞
街头小贩 2020年07月14日
jsoup是可以跨域的。若服务api是RestFul原则上也是支持跨域的但需要认证
回复 点赞
发动态
发帖子
Ajax
创建于2007-09-28

3.2w+

社区成员

2.5w+

社区内容

Web 开发 Ajax
社区公告
暂无公告