ajax怎么实现跨域
我想用ajax访问内网服务器上的数据,给目标地址发送一个参数,然后返回“xm”类型的数据,就会报500InternalServerError2ms$.ajax({type...
我想用ajax访问内网服务器上的数据,给目标地址发送一个参数,然后返回“xm”类型的数据,就会报500 Internal Server Error2ms
$.ajax({
type: "POST",
url:"http://192.168.1.111:8777/WaitingHandleLeaveService.asmx/Get_HY_List?argXml=<root><auth><YZH><![CDATA[yz]]></YZH><MM><![CDATA[E10ADC3949BA59ABBE56E057F20F883E]]></MM><TYPE><![CDATA[0]]></TYPE></auth></root>",
dataType:"xml",
success:function(msg){
alert("aa");
alert(msg);
}
});
注意:如果把dataType:"xml"的返回类型变为text,就不会报这个错误
但当用返回类型为text时,返回的值是空的(我要的数据就是xml类型)。 展开
$.ajax({
type: "POST",
url:"http://192.168.1.111:8777/WaitingHandleLeaveService.asmx/Get_HY_List?argXml=<root><auth><YZH><![CDATA[yz]]></YZH><MM><![CDATA[E10ADC3949BA59ABBE56E057F20F883E]]></MM><TYPE><![CDATA[0]]></TYPE></auth></root>",
dataType:"xml",
success:function(msg){
alert("aa");
alert(msg);
}
});
注意:如果把dataType:"xml"的返回类型变为text,就不会报这个错误
但当用返回类型为text时,返回的值是空的(我要的数据就是xml类型)。 展开
3个回答
展开全部
jsonp可以传递get不可传递post,目前跨域只能是jsonp方式,虽然楼上说的都有理,但是归根到底还是没有解决 远程发送post数据到服务器的问题,目前我也没有找到合适的办法,不过如果客户端执行WEB脚本的话,在后台是可以发送post的,假如只是静态,目前没有别的办法
能做的只能尽量简化传输数据大小,采用jsonp的get方式。
IE9、Chrome、FF、Opera支持ResponseHeader Access-Control-Allow-Origin
IE下得额外配置:
jQuery.support.cors = true; (启用读取上面那个头信息的功能)
点击IE浏览器的的“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“通过域访问数据源”选中为“启用”或者“提示”,点击确定就可以了。(自身的过滤)
能做的只能尽量简化传输数据大小,采用jsonp的get方式。
IE9、Chrome、FF、Opera支持ResponseHeader Access-Control-Allow-Origin
IE下得额外配置:
jQuery.support.cors = true; (启用读取上面那个头信息的功能)
点击IE浏览器的的“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“通过域访问数据源”选中为“启用”或者“提示”,点击确定就可以了。(自身的过滤)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为安全限制,ajax的POST方法是不支持跨域的。所以你可以通过get方法进行跨域请求。也可以通过&lt;script&gt;标签进行跨域请求!
追问
用get也不行,怎么用&lt;script&gt,写个demo吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为安全限制8964ajax的POST方法是不支持跨域的所以你可以通过get方法进行跨域请求也可以通过&lt;script&gt;标签进行跨域请求!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询