Tag: ajax

如何使所有AJAX调用顺序?

我使用jQuery。 而且我不希望在我的应用程序上进行并行AJAX调用,每个调用必须在开始之前等待之前的调用。 怎么实现呢? 有帮助吗? 更新如果有任何同步版本的XMLHttpRequest或jQuery.post我想知道。 但顺序!=同步,我想要一个异步和顺序的解决方案。

使用Ajax上传base64映像

我的客户端正在为用户提供选择图片,裁剪并调整其大小然后显示它(在 DOM元素中)。 如果图片没问题,用户可以将其上传到服务器,以便保存。 由于Ajax请求,我想进行上传。 我在互联网上发现了大量的例子来上传从客户端PC检索到的原始图像 。 例如: $( ‘#my-form’ ) .submit( function( e ) { $.ajax( { url: ‘http://host.com/action/’, type: ‘POST’, data: new FormData( this ), processData: false, contentType: false } ); e.preventDefault(); } ); 如果我决定上传通过表单输入检索的图片,这可以正常工作。 在我的情况下,我想上传修改后的图片 (保存在元素中)而不是原始图片。 此图片存储为base64图片(有关信息:我使用croppie.js库生成图像)。 我不知道如何使用Ajax上传这张图片。 我试图将其作为常规参数上传,但在服务器端,img是一个空字符串: var url = ‘http://host.com/action/’; var data = {}; data.img = $(‘img#generated-image’).attr(‘src’); $.ajax({url: url, type: […]

有时候不会在IE上发送JQuery Ajax发布参数

我遇到的问题是,当我使用jquery ajax post,频率非常低(<2%)时,post参数永远不会进入服务器。 我确实在访问日志中看到了post请求。 它似乎只发生在IE上(我已经在日志中的7,8和9中观察到它)。 当我将呼叫从“post”类型切换到“get”类型时,问题就消失了。 IE上有没有人见过这种奇怪的行为? 谢谢! 我已经看到了各种ajax调用,但这是一个典型的: var data= { “guess” : “m1”, “eas” : “hello world” }; $.ajax({ url: “http://myco.com/ajaxcall.action”, data: data, type : ‘post’, dataType: ‘json’, success: function(data) {}, error: function() {} }); 更新 :传递“cache:false”不能解决问题。

如何使用Ajax和php填充可靠的下拉列表

您好我想使用Ajax管理下拉菜单中的数据。 数据库字段: 1.id 2.name 教研室 myDesgin.php 1.如果我选择了一个下拉菜单,想要使用Ajax更改另一个下拉菜单取决于所选值。 2.有任何代码可用,如果我选择一个下拉列表,它会转到另一个子窗口并使用Ajax以表格格式(如报表)显示数据。 提前致谢。 请给我示例代码,因为我是ajax的初学者,如果有人提供代码解释(对于ajax),最欢迎。

如何在jquery中调用外部URL?

我试图用jquery在Facebook墙上发表评论。 但是我的ajax呼叫没有外部URL。 任何人都可以解释我们如何使用外部URL与jquery? 下面是我的代码: var fbUrl=”https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token”; $.ajax({ url: fbURL , data: “message=”+commentdata, type: ‘POST’, success: function (resp) { alert(resp); }, error: function(e){ alert(‘Error: ‘+e); } }); 它给出了xmlhtttprequest错误。

关于jQuery ajax调用的php echo和return之间的区别

我无法让jQuery Ajax调用的成功函数正常工作,并且向我指出原因是我的PHP函数在使用echo $ result时使用了返回$ result。 将Ajax从“返回$ result”调用的PHP函数更改为“echo $ result”修复了问题,但为什么呢? 关于PHP脚本的两者(返回和回声)之间的区别有很多解释,但是在将该值发送到Ajax调用时它们有何不同?

如何在服务器上启用跨域请求?

我的服务器上托管了一个json文件。 当我尝试向json文件发出Ajax“GET”请求时,它失败了。 在Safari中查看控制台,它说“无法加载资源”。 Firebug显示“200 OK”,但响应没有显示出来。 甚至Firebug也没有显示JSON选项卡。 我相信这是因为使用AJAX不允许跨域请求。 我想知道如何克服这个问题? 另外,如果我想在我的服务器上启用跨域请求,我相信需要创建一个crossdomain.xml文件。 我不确定,但这就是我所知道的。 我在Google上搜索过,但找不到任何相关链接。 任何帮助都非常感谢。 谢谢。 更新:我没有使用任何服务器端脚本语言(PHP,ASP.NET等)。 我使用的是纯HTML和JavaScript / jQuery。 更新2: 我使用以下代码来制作跨域请求: $(document).ready(function () { $.ajax({ dataType: ‘jsonp’, data: ”, jsonp: ‘jsonp_callback’, url: ‘http://myhosting.net/myjsonfile.json’, success: function (jsonData) { alert(“success”) alert(jsonData); }, error: function(errorObj) { alert(errorObj.statusText); }, }); }); 当我在Firebug的“Net”选项卡中看到时,我看到一个JSON选项卡,我能够看到json响应。 但是,“success”回调处理程序不会被调用,但是“错误”回调处理程序被调用,我得到一个说出parseerror的警报。 知道什么可能是错的吗?

使用Array的AJAX Promises

我正在尝试使用promises进行几次AJAX调用(让我们说2)。 基本上我希望能够将两个响应合并在一起,对它们进行整体分析,然后吐出响应。 现在,我有: var responseArray = []; for (var i=0; i<letsSayTwo; i++) { responseArray.push(someAjaxCall(data)); }; responseArray.done(function(response) { var spit = someAnalysis(response); console.log(spit); }); responseArray.fail(function(response) { console.log('fail'); }); 就目前而言,我得到一个“未捕获的TypeError:对象[对象数组]在控制台中没有方法’完成’”错误。 我是否认为我不能使用这种方法? 我查看了使用( http://gregfranko.com/blog/jquery-best-practices/ )中的以下代码,但我似乎无法得到我需要的响应。 $.when.apply(this, responseArray).then(function(response) { console.log(response); }); 相反,我得到的是[响应,“成功”,响应],其中第一个响应是其中一个AJAX调用的正确返回响应,最后一个响应是实际调用本身。 我应该如何从两个AJAX调用中获得正确的响应? 我希望这一切都有道理。 谢谢!

使用JQuery ajax的JSONP的回调函数

我不太明白如何使用JQuery的ajax函数的回调。 我在JavaScript中有以下代码: try { $.ajax({ url: ‘http://url.of.my.server/submit?callback=?’, cache: false, type: ‘POST’, data: $(“#survey”).serialize(), dataType: “jsonp”, timeout: 200, crossDomain: true, jsonp: ‘jsonp_callback’, success: function (data, status) { mySurvey.closePopup(); }, error: function (xOptions, textStatus) { mySurvey.closePopup(); } }); } catch (err) { mySurvey.closePopup(); } 在服务器端(AppEngine / Python),我得到回调参数的值并回复 self.response.headers[‘Content-Type’] = ‘application/json; charset=utf-8’ self.response.out.write(callback + ‘({“msg”: “ok”});’) 但后来我在浏览器上遇到”Error: jQuery152042227689944248825_1317400799214 […]

jQuery AJAX’multipart / form-data’不发送数据?

我不知道为什么我不能让jQuery传递上传数据,因为AJAX对象似乎配置正确,并且正在发送正确的Content-Type / MIME-Type标头。 我尝试了两种不同forms的请求 – 一种是在文字中包含FormData对象,另一种是直接传递FormData对象。 不幸的是,无论哪种方式我都无法通过,$ _FILES和$ _POST都是空数组。 我想要使​​用的理想要求如下: 以下代码: var files = new FormData(); $.each(context.prototype.fileData, function(i, obj) { files.append(i, obj.value.files[0]); }); var request = { action: ‘upload’, id: response.obj.id, data: files }; $.ajax({ type : ‘POST’, url : context.controller, data : request, processData : false, contentType : ‘multipart/form-data’, mimeType : ‘multipart/form-data’, success : […]