Tag: Ajax

使用ajax和按键优化search

我有以下代码,因为我想要search数据库,因为用户正在input文本框。 下面的代码工作正常,但似乎有点低效,因为如果用户input速度非常快,我可能会做更多的search,而不是必要的。 所以如果用户input“航行” 我正在寻找“帆”,“赛丽”,“赛琳”和“帆船” 我想看看是否有办法检测按键之间的任何特定时间,所以只有search用户停止键入500毫秒或类似的东西。 有没有像这样的最佳做法? $('#searchString').keypress(function(e) { if (e.keyCode == 13) { var url = '/Tracker/Search/' + $("#searchString").val(); $.get(url, function(data) { $('div#results').html(data); $('#results').show(); }); } else { var existingString = $("#searchString").val(); if (existingString.length > 2) { var url = '/Tracker/Search/' + existingString; $.get(url, function(data) { $('div#results').html(data); $('#results').show(); }); } }

pjax是“stream体”导航的方式吗?

我已经开始使用pjax了 ,因为我想为我的用户提供一个快速,stream畅的体验,而不需要太多不必要的HTTP请求,并重复呈现未更改的HTML。 在我的网站上,我的工作效果相当不错,我必须说,启动和运行起来非常容易,考虑到它为这个体验带来了多大的差异。 然而,我看到很less的支持pjax – 无论是在StackOverflow和一般的networking( 谷歌search返回顶部完全 无关的web开发许多结果)。 但是我对它印象深刻,即使没有得到广泛的支持,我仍然可以使用它。 我主要担心的是后来在没有很多支持的情况下投入我的代码时遇到了一些大问题。 所以我想确保那里没有别的东西。 有没有其他的实现pjax提供,我不知道的相同的function? 还是这么新,没有多less人知道呢? 或者,这只是一个糟糕的/有问题的实现?

JQuery的AJAX与ASP.NET WebMethod返回整个页面

我正在做一些简单的testing(准备一个更大的项目),使用JQuery AJAX调用ASP.NET WebMethod。 在我的例子中,我的WebMethod返回一个简单的string。 但是,当我尝试使用JQuery调用它时,我得到的是返回的整个HTML页面内容,而不仅仅是我的string。 我错过了什么? 客户端 : $(document).ready(function ready() { $("#MyButton").click(function clicked(e) { $.post("Default.aspx/TestMethod", {name:"Bob"}, function(msg) { alert("Data Recieved: " + msg); }, "html" ); }); }); 服务器端: using System; using System.Web.Services; namespace JqueryAjaxText { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [WebMethod] public static string […]

Web Worker处理AJAX调用 – 优化过度杀毒?

我正在处理使用Web Workers处理所有AJAX请求的代码(如果可用)。 这些工作者几乎没有什么比XMLHttpRequest对象处理(没有额外的计算)。 所有由worker创build的请求都是asynchronous的( request.open("get",url,true) )。 最近,我得到了关于这个代码的几个问题,我开始怀疑是否应该花时间修复这个问题,或者只是抛出整个解决scheme。 到目前为止,我的研究表明,这个代码实际上可能会损害性能。 但是,我无法find任何可信的来源支持这一点。 我唯一的两个发现是: 2岁的jQueryfunctionbuild议使用networking工作者进行AJAX调用 这个 SO问题似乎要求一些有点不同(在networking工作者与AJAX调用中使用同步请求) 有人能指点我一个可靠的来源讨论这个问题? 或者,有没有可能消除我疑惑的基准? [ 编辑 ]当WebWorker也负责parsing结果( JSON.parse )时,这个问题会变得更有趣。 asynchronous分析是否改善性能?

stream量最佳实践:在Web API Utils中存储调度操作,AJAX调用?

我明白,这个图像已经成为大多数(如果不是全部的话)Flux程序员的最终指导。 考虑到这一点,我有几个问题: 我的Web API Utils中是否有所有$.ajax调用是正确的/强烈build议? callback调用动作创build者,传递过程中的数据 如果我想让我的商店进行AJAX调用 ,我必须先调用Action Creator ,对吗? 直接从Store中调用Web API Utils中的函数从根本上说是不正确的? 有没有像从商店连接到动作创作者的虚拟单向箭头? 我有很多操作,没有通过意见 调度员和商店之间的callback是什么? 这里的Web API是什么? 这是你在哪里应用RESTful API? 有没有这个地方的例子? 在我的一个动作创作者中有一个涉及的逻辑(知道发送哪个动作 )可以吗? 基本上,这个动作接收来自我的AJAX调用的响应。 这是一个片段: var TransportActions = { receiveProxyMessage: function (message, status, xhr) { switch (message) { case ProxyResponses.AUTHORIZED: AppDispatcher.dispatch({ type: ActionTypes.LOGIN_SUCCESS, reply: m }); break; case ProxyResponses.UNAUTHORIZED: AppDispatcher.dispatch({ type: ActionTypes.LOGIN_FAIL, reply: m }); […]

如何触发基于服务器响应的jquery.ajax()错误callback,而不是HTTP 500?

通过使用jQuery的ajaxfunction,我可以做一些事情: $.ajax({ url: url, type: 'GET', async: true, dataType: 'json', data: data, success: function(data) { //Handle server response here }, error: function(xhr, status, error){ //Handle failure here } }); 根据上面的代码,我有两个问题要问: 什么时候会调用jquery.ajax() errorcallback? 如果服务器响应我一个string消息“ 有一个错误 ”的JSON对象。 这意味着请求仍然发送成功,但我得到了服务器响应{message: "There is an error"} 。 我想不pipe是什么string值服务器响应,如果客户端得到服务器的响应, jquery.ajax() successcallback将被触发无论如何。 我想问一下,如果服务器专门返回给我一个string值的JSON对象,如{message: 'There is an error'} ,服务器可以做一些事情,使这个响应可以在jquery.ajax() errorcallback处理successcallback?

主线程上的同步XMLHttpRequest已被弃用

为什么这个消息突然开始出现在Firefox控制台中? 我正在使用JQuery 1.7.1。 我的应用程序可以做什么,导致这个消息开始出现?

.NET AJAX调用ASMX或ASPX或ASHX?

使用AJAX在客户端从JavaScript调用某些业务逻辑的最有效方法是什么? 看起来你可以直接从javascript调用一个[WebMethod]的aspx(在我的情况下我使用JQuery来帮忙),或者你可以直接调用.asmx。 哪个呼叫的开销较less? 最佳做法是什么? 另外,[ScriptService]属性在类中做了什么? 我从来没有在我的.aspx [WebMethod]方法之前使用过这一切,似乎一切工作正常。 我希望这是一个纯粹客观的问题。 提前致谢!

Backbone.js模型与集合

我有2个模型和一个集合。 JobSummary是一个模型, JobSummaryList是一个JobSummary项目的集合,然后我有一个JobSummarySnapshot模型,其中包含一个JobSummaryList : JobSummary = Backbone.Model.extend({}); JobSummaryList = Backbone.Collection.extend({ model: JobSummary }); JobSummarySnapshot = Backbone.Model.extend({ url: '/JobSummaryList', defaults: { pageNumber: 1, summaryList: new JobSummaryList() } }); 当我在JobSummarySnapshot对象上调用fetch时,它会得到一切…除了当我移动通过summaryList集合时,它们都是typesobject而不是JobSummary 。 我想这是有道理的,因为除了defaults对象以外,它不知道summaryList应该是JobSummaryListtypes。 我可以通过每个项目,并将其转换为一个JobSummary对象,但我希望有办法做到这一点,而不必手动。 这里是我的testing代码(在这里工作jsfiddle ): var returnData = { pageNumber: 3, summaryList: [ { id: 5, name: 'name1'}, { id: 6, name: 'name2'} ] }; var fakeserver […]

跨域资源共享GET:“拒绝从响应中获取不安全标题”etag“'

一个简单的GET请求,没有自定义标题。 响应按预期返回。 正文中的数据是可访问的,但不是标题。 当我尝试访问“etag”标题时,浏览器引发exception: 拒绝获取不安全的标题“etag” Chrome,Safari和Firefox的行为都是一样的。 我没有在IE上testing它。 我在这里错过了什么?