jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 从ie / firefox / chrome中的jquery调用跨域.net方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_4@
我一直试图通过 JQuery从另一个调用.NET方法(asmx文件和普通的aspx文件),我无法在每个浏览器中完成工作.目前它在Firefox中运行良好,但在IE中运行不正常.

function save() {
    if (jQuery.browser.msie && window.XDomainrequest) {
        // Use XDR
        var params = "{'height':" + 10 + ",'width':" + 10 + ",'pos':'" + 10 + "'}";
        var xdr = new XDomainrequest();
        xdr.onerror = alert_error;
        xdr.ontimeout = alert_timeout;
        xdr.onprogress = alert_progress;
        xdr.onload = alert_loaded;
        xdr.timeout = 10000;
        xdr.open("post",'http://domain/reciever.asmx/setdata');
        //Tried as webservice and as a normal aspx page
        //xdr.open("post",'http://domain/default.aspx');
        xdr.send(params);
    }
    else {
        var params = "pos=" + positions + "&width=" + screenWidth + "&height=" + screenHeight;
        var myAjax = new jQuery.ajax(
        "http://domain/default.aspx",{
            type: 'post',cache: false,crossDomain: true,data: params
        });
    }
}

在服务器端,web.config具有:

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
</httpProtocol>

和webservice

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public String setdata(int width,int height,String pos)

aspx@L_772_8@返回:

Response.Clear();
Response.ContentType = "text/plain";
response.addheader("Access-Control-Allow-Origin","*");
Response.End();

提琴手说:
fiddler在会话#2565中检测到协议违规.
内容长度不匹配:请求标头指示38个字节,但客户端发送0个字节.所以我相信它是“Access-Control-Allow-Origin”,但我已经设置了(据我所知).

有人可以帮我理解我做错了什么.

@H_301_4@

解决方法

出于某些安全原因,某些浏览器不允许跨域Ajax调用(使用Xmlhttprequest对象进行调用).

解决方案是使用JSONP调用而不是ajax调用. JSONP通过发出适合脚本文件的请求来避免这种情况.通过使用JSONP,以下事情可以使跨域请求成为可能,

1.浏览器首先创建一个新的脚本标记以注入HTML DOM,而不是访问XHR对象.

2.脚本标记的URL设置为您希望获取/发布(使用http GET)数据的URl.

3.脚本标记被注入@L_772_8@,导致……

4.请求被发送到服务器,即使它是跨域的

5.服务器以JavaScript函数调用的形式返回数据

6.浏览器接收数据并执行函数调用

请参阅下面的网址以获取实施细节,

http://www.codeproject.com/Articles/78757/Making-Cross-Domain-jQuery-AJAX-Calls.aspx

http://usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide

希望这绝对可以帮助你……

@H_301_4@ @H_301_4@
@H_301_4@
@H_301_4@
本图文内容来源于网友网络收集整理提供,作为学习参使用,版权属于原作者。
@H_674_103@猜你在找的jQuery相关文章
由于是触摸屏,所以需要一款JS虚拟键盘。上网找了一个好用的VirtualKeyboard,作了修改。 修改该插件参的博客文章:http://www.cnblogs.com/xinggong/arch
HashMap代码(这种实现方式是错误的,错误原因:代码中_map、_length变量是HashMap的所有实例共用的): /** * HashMap * 2021年09月09日 */ (functi
一、引用CSS和JS:View Code二、HTML:View Code三、JS:$(function () { var @R_166_10586@l = parseInt(&quot;@(ViewBag.@R_166_10586@l)
JS数字键盘,JS小键盘CSS代码:#numberkeyboard{ border: 1px solid #b3b3b3; BACkground: #f2f3f7; height: 285px; ma
C.js代码: /** * 有BUG */ (function (global) { var _id; var _map; var _length; global.C = function () {
一、节点模糊搜索功能:搜索成功后,自动高亮显示并定位、展开搜索到的节点。二、节点异步加载:1、点击展开时加载数据;2、选中节点时加载数据。前台代码如下:View Code View Code后台代码(
需求:页面显示教师信息列表,列表中每一条数据显示图片滚动插件,每张图片的长宽及长宽比例各不相同。 前提条件:美工把静态页面写好 HTML代码: @using Models; @{ List&lt;cm
示例代码: marker.addEventListener(&quot;click&quot;, function(){ if (!window.markerClicked) { window.mar
@H_115_197@

javascript – 从ie / firefox / chrome中的jquery调用跨域.net方法

微信公众号搜 "程序精选"关注

大佬总结

以上是大佬教程为你收集整理的javascript – 从ie / firefox / chrome中的jquery调用跨域.net方法全部内容,希望文章能够帮你解决javascript – 从ie / firefox / chrome中的jquery调用跨域.net方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。