标签: xmlhttprequest

如何使用Microsoft.XMLHTTP指定代理配置?

我正在使用来自经典asp页面的Microsoft.XMLHTTP将信息发布到另一个站点......

我希望能够检查fiddler发生了什么,为此我必须找到一种方法来配置Microsoft.XMLHTTP以使用代理...

可能吗?Microsoft.XMLHTTP从哪里获取配置?

非常感谢

proxy xmlhttprequest asp-classic

9
推荐指数
2
解决办法
2万
查看次数

XMLHttpRequest第2级:浏览器

现在有可能吗?有没有支持XMLHttpRequest Level 2的浏览器?我测试一下 谢谢.

browser ajax w3c xmlhttprequest cross-browser

9
推荐指数
1
解决办法
6919
查看次数

要求Chrome绕过XmlHttpRequest的本地缓存,就像在Firefox中一样吗?

正如你们中的一些人可能已经知道的那样,Firefox/Chrome中存在一些由XmlHttpRequest对象发起的请求的缓存问题.这些问题意味着浏览器不严格遵循规则,也不会转到服务器获取新的XSLT文件(例如).响应没有Expires标头(出于性能原因我们无法使用它).

Firefox在XHR对象"通道"中有附加参数,您可以将值Component.interfaces.nsIRequest.LOAD_BYPASS_CACHE显式转到服务器.

Chrome存在类似的内容吗?

让我立即停止所有建议添加时间戳作为GET参数值或随机整数的人 - 我不希望服务器获得不同的URL请求.我希望它能获得原始网址.原因是我希望保护服务器免于获得太多不同的简单静态文件请求,并在不需要时向客户端发送过多数据.

如果使用生成的GET参数(如'?forcenew = 12314')命中静态文件,则每次第一次呈现200响应,对于该随机整数值的每个后续请求将呈现304.如果目标静态文件与客户端版本相同,我想发出始终返回304的请求.这就是网络浏览器应该如何开箱即用,但XHR对象往往不会去服务器来询问是否更改了文件.

ajax caching google-chrome xmlhttprequest

9
推荐指数
1
解决办法
3205
查看次数

在ajax调用上显示*浏览器*加载指示符(如发生回发时)

例如:转到您的Facebook墙,滚动页面末尾,Facebook将异步加载更多墙上的帖子.或者只需点击墙贴中的图像即可.图像对话框(带有注释和更大的图像)也是异步加载的.(您可以使用firebug查看GET请求).

但通过查看和firefox选项卡,您可以看到加载指示器,就像发生回发时一样.

我知道这可以通过使用IFrame和更改其src 来实现.就像iGoogle一样.但我不确定Facebook是否使用IFrame来加载额外的墙贴.还有另一种方法来实现这一目标吗?

更新:通过说"加载指标"我并不是指ajax指标.
正如我所提到的那样,浏览器指示器(显示我们页面是否正在加载的选项卡的左侧一个)更改为加载,就像它是一个回发.

browser ajax loading xmlhttprequest

9
推荐指数
2
解决办法
4143
查看次数

浏览器会限制AJAX轮询率吗?限制是多少?

我刚看到有些浏览器会阻止HTTP轮询(我想通过限制请求的速率)......

来自https://github.com/sstrigler/JSJaC:

注意:由于大多数现代浏览器的安全限制阻止HTTP轮询再次可用,因此默认情况下此模块已被禁用.如果你想在使用'make polling'中编译它.

这可以解释我的一些JavaScripts的一些不当行为(有时请求不会被发送或重试,即使它们实际上是成功的).但我无法找到有关细节的更多信息..

问题

  • 如果它是"每x秒最大请求数n",x和n的通常/默认设置是什么?
  • 这有什么好的资源吗?
  • 有没有办法检测请求是否因为速率限制而被"延迟"或"拒绝"?

谢谢你的帮助...

斯特凡

ajax xmlhttprequest limit polling rate

9
推荐指数
2
解决办法
2774
查看次数

ASP.NET请求和.NET 4.5 - 奇怪的行为

将产品升级到.NET 4.5后,我们在网站上遇到了一些奇怪的行为.我会尝试尽可能具体,但问题很模糊,所以请耐心等待.此外,对于这种情况,假设没有遵循最佳实践.

用户来到一个页面,该页面以异步方式向Web服务进行多次jquery ajax调用.由于此页面上的设计/编码较差,可能需要永久加载,但它确实提供了用户需要访问的子菜单.页面开始加载后,单击其中一个菜单选项转到另一个页面.到目前为止没什么特别的.

当我们在只安装了.NET 4.0的盒子上使用perfmon时,我们可以看到ASP.NET请求上下移动,正如您所期望的那样:

在4.0盒子上的Perfmon

当我们将它安装在安装了.NET 4.5的盒子上时,我们得到: 在此输入图像描述

执行上述工作流程后,请求挂断.没有排队; 他们只是坐在那里

经过进一步的研究,我们注意到两个不同页面之间的点击不仅仅是一个简单的href,而且实际上是在使用Response.Redirect(url);

此外,这仅在使用IE时发生.使用Firefox和Chrome时,这不是问题.

以下是我们迄今为止所尝试的内容:

  1. 我们联系了M $并将它们发送出DebugDiag转储.还在等.
  2. 我已经去了IIS,设置网站来跟踪失败的请求,并设置了一个失败的请求过滤器来给我一切.一旦站点锁定,我清除日志,然后检查站点锁定后的内容.每次它都在AspNetSessionDataBegin和AspNetSessionDataEnd事件之间挂起.
  3. 我们确实有一个读取/写入会话的HttpHandler,并且禁用它确实似乎解决了大部分问题,但没有解释为什么.
  4. jquery的onunload处理程序,它应该清理并中止所有剩余的xmlhttp请求,似乎没有经常执行.
  5. 安装这个补丁,仍然没有帮助.
  6. 我们目前正在将此导航逻辑中的Response.Redirect(url)方法更改为Response.Redirect(url,false); (往上看).

同样根据要求,这里是HttpHandler代码:

public class KeepSessionAliveHttpHandler : IHttpHandler, IRequiresSessionState
{
    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {

        if (context.Session.IsNewSession)
        {
            string redirectUrl = context.Request.Url.AbsoluteUri.Replace(context.Request.Url.AbsolutePath, VirtualPathUtility.ToAbsolute(Constant.Page_Logout));
            context.Response.Clear();
            context.Response.ContentType = "application/json; charset=utf-8";
            context.Response.Flush();
            context.Response.Write("{\"IsSessionAlive\": \"false\", \"RedirectUrl\": \"" + redirectUrl + "\"}");
        }
        else
        {
            context.Session["KeepSessionAlive"] = TimeZoneHelper.GetCurrentUtcDateTime();

            context.Response.Clear();
            context.Response.ContentType = "application/json; charset=utf-8";
            context.Response.Flush(); …
Run Code Online (Sandbox Code Playgroud)

asp.net iis jquery xmlhttprequest .net-4.5

9
推荐指数
1
解决办法
1866
查看次数

循环中的jQuery.ajax()

如果我jQuery.ajax()在循环内部调用,是否会导致当前迭代中的调用覆盖最后一次调用,或者为新请求分配了新的XHR对象?

我有一个循环来执行此操作,而从控制台日志我可以看到请求已完成,200 ok但只是循环中最后一个请求的结果数据由请求存储success callback为假设.

代码:

var Ajax = {
    pages: {},

    current_request: null,

    prefetch: function () {
        currentPath = location.pathname.substr(1);

        if(this.pages[currentPath])
        {
            var current = this.pages[currentPath];
            delete this.pages[currentPath];

            current['name']=currentPath;
            current['title']=$("title").text().replace(' - '.SITE_NAME, '');
            current['meta_description']=$("meta[name=description]").attr('content');
            current['meta_keywords']=$("meta[name=keywords]").attr('content');          
        }

        var _Ajax = this;
        //the loop in question *****
        for(var key in this.pages)
        {
            $.ajax({
                method: 'get',
                url:'http://'+location.hostname+'/'+key,
                success: function(data) {
                    _Ajax.pages[key] = data;    
                }
            }); 

                    console.debug(this.pages);
        }

        if(current)
        {
            this.pages[currentPath] = current;
        }       

    } 
};//Ajax Obj
for(var …
Run Code Online (Sandbox Code Playgroud)

ajax jquery xmlhttprequest

9
推荐指数
4
解决办法
3万
查看次数

全局添加X-CSRF-Token标头到XMLHttpRequest()的所有实例;

我正在使用第三方库生成一个原始XMLHttpRequestnew XMLHttpRequest.

这绕过了我的CSRF保护并被我的rails服务器击落.

有没有办法在实例化时将全局添加预定义的CSRF令牌($('meta[name=csrf-token]').attr('content'))添加到所有实例XMLHttpRequest

javascript security ajax xmlhttprequest csrf

9
推荐指数
2
解决办法
3万
查看次数

在Firefox上,FormData()对象不会从表单添加提交类型输入

今天我遇到了一个有趣的bug,花了很多时间才到达底部.

设置

页面上的表单.在提交时,将捕获数据并new FormData()使用它创建对象.

该对象与脚本一起发送并xhr请求.php,然后脚本返回ok/ error消息.

代码看起来像这样:( 简化版,不需要绒毛)

<form name="frm" id="frm" action="" method="post" onsubmit="save(event, this);" enctype="multipart/form-data">
    <input name="name" id="name" type="text" value="..." />
    <input name="email" id="email" type="text" value="..." />
    <input name="phone" id="phone" type="text" value="..." />
    <input name="website" id="website" type="text" value="..." />
    <textarea name="details" id="details"></textarea>
    <input name="send" type="submit" value="Send" />
</form>

<script type="text/javascript">

function save(e, frm) {

        if (document.getElementById('nume').value == '' ||
          document.getElementById('email').value == '' ||
          document.getElementById('telefon').value == '' ||
          document.getElementById('site').value == …
Run Code Online (Sandbox Code Playgroud)

javascript forms firefox xmlhttprequest form-data

9
推荐指数
1
解决办法
3840
查看次数

是否可以配置IE以允许XHR从`http:// http:// 127.0.0.1?

FF(62)和Chrome(69)考虑http://127.0.0.1一个潜在的值得信赖的 URL.在localhost文章的证书中描述了此行为,详细信息在w3.org站点上提供.

这允许http://127.0.0.1从内部执行XHR请求HTTPS.例如https://something-in-my-network.net,http://127.0.0.1:8080如果有本地服务正在运行,资源上的JS代码可以执行XHR .

但IE(11)禁止这些请求.

可以配置IE以允许XHR http://127.0.0.1从内部HTTPS

以下代码可用于重现该问题:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1:8080', true);
Run Code Online (Sandbox Code Playgroud)

IE将立即抛出,Access denied而其他浏览器则不会.

javascript https http xmlhttprequest

9
推荐指数
1
解决办法
278
查看次数