关于jquery跨域调用的有关问题
关于jquery跨域调用的问题
刚拿到接口,然后建了个HTML页面进行测试,一切正常。
然后我把这个HTML页面加到我的工程中,境然无法调用接口,实在是让人困惑。
最后建了个 ashx文件,用HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://xxxxxx/product/Product");
进行调用。
最后是通过js再调用这个ashx文件。
哪位帮我解答一下这是为什么?谢谢。
------解决思路----------------------
另外,如果对方的 Access-Control-Allow-Origin 不能允许你们的网页访问,你可以让你的网页访问自己的 ashx 数据服务,这就不存在跨域问题。然后你自己的 ashx 中再访问对方的接口。
------解决思路----------------------
后端调用直接HttpRequest就可以解决了,前端JS调用就要用到 jsonp 的技术跨域请求了
$("#getJsonpByJquery").click(function () {
$.ajax({
url: 'http://localhost:2701/home/somejsonp',
dataType: "jsonp",
jsonp: "callback",
success: function (data) {
console.log(data)
}
})
})
------解决思路----------------------
把那个单独测试的html页面换成aspx页面试试,可能是因为网页类型是html的关系
刚拿到接口,然后建了个HTML页面进行测试,一切正常。
然后我把这个HTML页面加到我的工程中,境然无法调用接口,实在是让人困惑。
最后建了个 ashx文件,用HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://xxxxxx/product/Product");
进行调用。
最后是通过js再调用这个ashx文件。
哪位帮我解答一下这是为什么?谢谢。
------解决思路----------------------
另外,如果对方的 Access-Control-Allow-Origin 不能允许你们的网页访问,你可以让你的网页访问自己的 ashx 数据服务,这就不存在跨域问题。然后你自己的 ashx 中再访问对方的接口。
------解决思路----------------------
后端调用直接HttpRequest就可以解决了,前端JS调用就要用到 jsonp 的技术跨域请求了
$("#getJsonpByJquery").click(function () {
$.ajax({
url: 'http://localhost:2701/home/somejsonp',
dataType: "jsonp",
jsonp: "callback",
success: function (data) {
console.log(data)
}
})
})
------解决思路----------------------
把那个单独测试的html页面换成aspx页面试试,可能是因为网页类型是html的关系