标签: xmlhttprequest

Ruby使用标题机械化帖子

我有js页面,通过XMLHttpRequest发布数据,服务器端脚本检查此标头,如何发送此标头?

agent = WWW::Mechanize.new { |a|
  a.user_agent_alias = 'Mac Safari'
  a.log = Logger.new('./site.log')
}

agent.post('http://site.com/board.php',
  {
    'act' => '_get_page',
    "gid" => 1,
    'order' => 0,
    'page' => 2
  }
) do |page|
  p page
end
Run Code Online (Sandbox Code Playgroud)

ruby mechanize xmlhttprequest

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

在ASP.NET和C#中手动进行AJAX调用

我想在ASP.NET中编写自己的AJAX,而不是使用ASP.NET ScriptManager等.

为什么?我喜欢手动做东西并且知道内部的东西是如何工作的,所以我只想自己做.

所以我的问题是,在我进行AJAX调用之后:

var ajaxCall = new XMLHttpRequest();
....
ajaxCall.send(null)
Run Code Online (Sandbox Code Playgroud)

我怎样才能在C#中添加Page_Load(或不),以便它监听它并返回一个String例如.

c# asp.net ajax xmlhttprequest

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

有太多的多个同时AJAX连接坏了吗?

我正在编写一个相当大的基于JavaScript的应用程序,有时甚至会有八(8)个AJAX请求同时发生.这是IE6中的一个问题,因为它会杀死其余的请求,我知道,但是这个应用程序是针对现代浏览器的,因此,IE6不是问题.

但是,我有一种感觉(没有进行任何实际的分析),池化请求可以产生更好的性能.比如说,一次最多4个请求.

所以,我的问题是,集合AJAX请求是否有任何好处,或者与拥有一个接一个地处理它们的池相比,是否可以同时进行多个请求?

我意识到这可能取决于浏览器和Internet连接,但我不确定.

javascript ajax performance networking xmlhttprequest

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

NETWORK_ERR:XMLHttpRequest异常101

我在Chrome中遇到了AJAX问题,出现以下错误:

Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

function IO(filename) {
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        xmlhttp = new XMLHttpRequest();

    } else if (window.ActiveXObject) { // IE
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }

    xmlhttp.open("GET", filename+"?random="+Math.floor(Math.random()*100000001), false);
    xmlhttp.send();

    if(xmlhttp.readyState==4)
        return xmlhttp.responseXML;
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax google-chrome xmlhttprequest

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

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
查看次数

IE 11错误 - 访问被拒绝 - XMLHttpRequest

我对IE11和ajax有一个奇怪的错误.对于我使用下面的代码提出的几乎所有请求,一切都很好,但是当我尝试与复制+粘贴方法一起使用时,它返回一个拒绝访问错误.总结一下

  • 对于我编写的所有函数,此代码在大多数浏览器中正常工作
  • 在IE 11 + Windows 8.1中,除了运行特定的复制和粘贴功能外,它在大多数情况下都有效
  • 有趣的是,当使用IE 11,但使用不同的文档模式,如8,我仍然得到相同的错误,即使它在IE8 + Windows 7本机工作
  • 错误是"访问被拒绝"

这是AJAX代码:

function ajaxRequest(requestName,responseFunction,parameters) {
 var xmlhttp;
 if (requestName.length==0) return;
 if (window.XMLHttpRequest)  {
     xmlhttp=new XMLHttpRequest();
 } else {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 xmlhttp.onreadystatechange=function() {
     if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        if(xmlhttp.responseText == 'Error') alert('Error processing request. Please refresh the page and try again');
        else if(xmlhttp.responseText != '') eval(responseFunction+"('"+xmlhttp.responseText+"')");
     }
 }
 var now = new Date();
 var url = "control/ajax.php?request="+requestName+"&parameters="+parameters+"&timestamp"+now;
 xmlhttp.open("GET",url,true);
 xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)

失败的一个例子,设置了以下变量:

requestName:"save_marksheet_mark"responseFunction:"update_save_marksheet_mark"参数:[60962,1284,5]

这段代码有问题吗?在特殊情况下,IE11是否会在此代码中引发错误?

javascript ajax internet-explorer xmlhttprequest internet-explorer-11

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

有没有办法在使用XmlHttpRequest时抑制浏览器在401响应上的登录提示

我正在使用jQuert .ajax函数来调用页面方法.该网站正在使用FormsAuthentication.因此,当身份验证票证到期时,对页面方法的调用显然会导致重定向到登录页面.

现在,编写System.Web.Handlers.ScriptModule的天才决定,如果出于某种原因对页面方法或Web服务方法进行REST样式调用,从JavaScript导致302重定向,他们只是简单地转向回应401未经授权.这导致浏览器弹出一个完全误导的登录UI,因为用户试图输入他们的用户名和密码,这意味着什么,因为使用了FormsAuthentication.最后,当用户单击"取消"时,401将进入错误处理程序.

那么,问题是,如何以任何方式禁用浏览器的登录UI提示?网上有些人建议在XHR请求中使用用户名和密码,但它似乎不起作用.

ajax firefox jquery internet-explorer xmlhttprequest

8
推荐指数
1
解决办法
5244
查看次数

如果XMLHttpRequest对象支持W3C Progress Events,如何检入JavaScript?

如果XMLHttpRequest对象支持W3C Progress Events,有没有办法在JavaScript中检查?我的意思是在这里,如果将onload,onprogress,onabort,onerror等属性设置为某些处理函数将具有那些称为那些事件的函数,如上所述.

附加(奖金)问题:有没有办法增加XMLHttpRequest(例如使用一些计时器)来支持这些事件?

阿里纳斯:我先在的XMLHttpRequest的上下文中找到关于W3C的进度事件在这里

javascript ajax xmlhttprequest javascript-events

8
推荐指数
1
解决办法
5157
查看次数

GWT-RPC与HTTP呼叫 - 哪个更好?

我正在评估使用GWT-RPC和HTTP Call进行的调用之间是否存在性能差异.

我的appln服务作为Java servlet托管,我目前正在使用HTTPProxy连接从它们获取数据.我希望将它们转换为GWT-RPC调用,如果这会带来性能提升.

我想知道每个人的利弊...

还有关于衡量异步调用性能的工具的任何建议......

[ 关于可以与GWT一起使用的各种服务器通信策略的好文章.]

gwt asynchronous xmlhttprequest gwt-rpc

8
推荐指数
2
解决办法
7549
查看次数

axios onUploadProgress和onDownloadProgress无法与CORS一起使用

我有一个用Node.js编写的服务器,以及一个在浏览器中运行的Web客户端。客户端应从服务器上载一些文件并将其下载到服务器。服务器不是最初交付客户端的服务器,因此这里存在跨域情况。

服务器使用cors中间件来启用跨域请求。由于我还使用了许多自定义标头,因此将其与如下配置一起使用:

api.use(cors({
  origin: '*',
  allowedHeaders: [ 'content-type', 'authorization', 'x-metadata', 'x-to' ],
  exposedHeaders: [ 'content-type', 'content-disposition', 'x-metadata' ]
}));
Run Code Online (Sandbox Code Playgroud)

相反,客户端使用axios,并且上传文件的代码如下所示:

await axios({
  method: 'post',
  url: 'https://localhost:3000/api/v1/add-file',
  data: content,
  headers: {
    // ...
  }
});
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都按预期工作,并且特别适用于CORS。

现在,我想跟踪上传的进度,因此,如其文档onUploadProgress所述axios,我将回调添加到了调用中:

await axios({
  method: 'post',
  url: 'https://localhost:3000/api/v1/add-file',
  data: content,
  headers: {
    // ...
  },
  onUploadProgress (progressEvent) {
    console.log({ progressEvent });
  }
});
Run Code Online (Sandbox Code Playgroud)

如果我现在运行客户端,则上载仍然有效–但onUploadProgress永远不会调用回调。我已经了解到,并不是所有的浏览器都支持此功能(内部仅绑定到onprogress基础XmlHttpRequest对象的事件),但是最新的Chrome应该可以做到这一点(如果我尝试使用不涉及CORS的其他设置,则一切似乎都可以做到)工作)。因此,我认为这是一个CORS问题。

读到,一旦您向onprogress事件添加侦听器,就会发送预检请求。这又意味着服务器必须接受OPTIONS请求。为此, …

javascript xmlhttprequest node.js cors axios

8
推荐指数
1
解决办法
1603
查看次数