我以前从未使用过回调函数,所以我可能犯了一个完全愚蠢的错误。 我想我有点理解这里的问题,但不知道如何解决它。 我的代码(稍微简化)是: for (var i = 0; i < some_array.length; i++) { var title = some_array[i]; $.getJSON('some.url/' + title, function(data) { do_something_with_data(data, i); } 据我所知,只有getJSON()收到数据时才会调用此匿名函数。 但就此而言, i没有我需要的价值。 或者,就我的观察而言,它具有循环完成后它将具有的最后一个值(它不应该超出界限吗?)。 因此,如果数组的大小为6,则do_something_with_data()将被调用五次,值为5。 现在我想,只要把i传递给匿名函数 function(data, i) { } 但这似乎不可能。 我现在不确定。
我有一个输入字符串,它将是一个JSON数据包,ala: {“PHONE”:”555-513-4318″,”FIRSTNAME”:”Austin”,”ARTISTID”:”2″,”LASTNAME”:”Weber”} 或查询字符串,ala: phone=555-513-4318&firstname=Austin&artistid=2&lastname=Weber 为了我的目的,我需要始终使用后一种格式; 所以当它是JSON数据时,我需要将其转换为查询字符串。 它是用户输入,所以我不能保证它将是一个或另一个。 我正在使用jQuery,并且有以下代码,它可以工作。 我只是想知道是否有更好的方法来解决它。 var data = ”; try { data = $.param($.parseJSON($(“#content”).val())); } catch (e) { data = $(“#content”).val(); } //… now do stuff with the `data` var… 这里的逻辑是,如果字符串不是有效的JSON,那么$.parseJSON()将抛出exception,数据将被设置为用户输入的原始值。
我有我的JSON如下 {“DATA”: [{“id”:11,”name”:”ajax”,”subject”:”OR”,”mark”:63}, {“id”:12,”name”:”javascript”,”subject”:”OR”,”mark”:63}, {“id”:13,”name”:”jquery”,”subject”:”OR”,”mark”:63}, {“id”:14,”name”:”ajax”,”subject”:”OR”,”mark”:63}, {“id”:15,”name”:”jquery”,”subject”:”OR”,”mark”:63}, {“id”:16,”name”:”ajax”,”subject”:”OR”,”mark”:63}, {“id”:20,”name”:”ajax”,”subject”:”OR”,”mark”:63}],”COUNT”:”120″} 有没有什么好方法可以从这个JSON中找出distinct name 结果javascript,jquery,ajax 我可以使用以下方法做到这一点 var arr=[”]; var j=0; for (var i = 0; i < varjson.DATA.length; i++) { if($.inArray(varjson.DATA[i]["name"],arr)<0){ arr[j]=varjson.DATA[i]["name"]; j++; } } 有没有better method让我有更好的表现?
我试图使用jquery fullcalendar。 事件数据来自使用JSON的服务器。 我的页面有一个下拉元素和fullcalendar div。 我需要的是每次用户更改下拉列表时刷新日历。 应将下拉列表的选定值发布到服务器以获取新的事件数据 这是我的代码 $(document).ready(function() { $(‘#calendar’).fullCalendar({ events: { url : ‘/myfeed’, data : {personId : $(‘#personDropDown’).val() } } }); $(‘#personDropDown’).change(function(){ $(‘#calendar’).fullCalendar(‘refetchEvents’); }); }); 但上面的代码不起作用。 有帮助吗?
好的,这是我的问题。 我有一个简单的jQuery Ajax请求,当我将DataType设置为“JSON”时,我无法获得。 var form_data = { “id”: msg, “token”: token }; $.ajax({ type: ‘POST’, url: “ajax.php”, data: form_data, dataType: ‘json’, beforeSend:function(){ // this is where we append a loading image }, success: function(data) { var thing = JSON.parse(data); $(‘.body-item’).html(thing.b); }, error: function() { alert(‘error’); } }); 这实际上是我的ajax文件。 ajax.php看起来像这样: $arr = array(‘a’ => 1, ‘b’ […]
如何在Python中获取JSON对象(Flask Framework)。 下面是我的代码片段 var hotel=$( “#listHotel option:selected” ).val(); if(hotel!=”select”) { $.ajax({ url: ‘/getHotels’, data: {‘hotel’:hotel}, type: ‘POST’, success: function(response){ alert(response); var r= JSON.parse(response); var rating =r.message $(“#rate”).html(“Ratings : “+rating); $(“#rate”).show(‘slow’); console.log(response); }, error: function(error){ alert(response); console.log(error); } }); }` 如何在我的Python脚本Flask Framework获取JSON值hotel from flask import Flask, render_template, json, request app = Flask(__name__) @app.route(‘/’) def main(): return […]
嘿那里,我有一个阿拉伯语联系脚本,它使用Ajax在填写表单后从服务器检索响应。 在一些apache服务器上, jQuery.parseJSON()会抛出一个invalid json excepion,它会在其他服务器上完全解析相同的json。 仅在chrome和IE上抛出此exception。 json内容使用php的json_encode()函数进行编码。 我尝试使用json数据发送正确的标头并将unicode设置为utf-8,但这没有帮助。 这是我尝试解析的json响应之一(删除了if的第二部分,因为它很长): {“pageTitle”:”\u062e\u0637\u0623 \u0639\u0646\u062f \u0627\u0644\u0625\u0631\u0633\u0627\u0644 !”} 注意 :这个数据的语言是阿拉伯语,这就是为什么它在用php的json_encode()解析后看起来像这样。 您可以尝试在给出的示例中发出请求,并使用firebug或webkit开发人员工具查看完整的响应数据。 响应通过jsonlint ! 最后,我有两个使用相同版本脚本的URL,尝试使用chrome或IE浏览它们以查看损坏示例中的错误。 工作示例 : http : //namodg.com/n/ 破碎的例子 : http : //www.mt-is.co.cc/my/call-me/ 更新:为了澄清更多,我想请注意,我通过使用旧的eval()解析内容来修复此问题,我发布了另一个版本,使用此修复程序,它是这样的: // Parse the JSON data try { // Use jquery’s default parser data = $.parseJSON(data); } catch(e) { /* * Fix a bug where strange […]
我有这个间隔,它执行ajax请求,目前每5秒。 我对if语句有疑问。 我的代码总是输入它,两个json值完全相同,为什么它们看起来不同? var newActivity = null, oldActivity = null; setInterval(function(){ $.ajax({ type: “get”, url: “/get/new_activity”, dataType: “json”, success: function(data){ oldActivity = newActivity; newActivity = data; console.log(JSON.stringify(oldActivity)); console.log(JSON.stringify(newActivity)); if(JSON.stringify(oldActivity) != JSON.stringify(newActivity)){ $(“#new-activity”).slideDown( “fast” ); } } }); }, 5000); 编辑 这是控制台输出(虚线是分开请求,它不在实际输出中) null [{“title”:”How many planets are in the solar system?”,”title_url”:”How-many-planets-are-in-the-solar-system%3F”,”id”:”2″,”answers”:”1″,”asked”:”2013-01-11 10:03:50″,”asked_pretty”:”Today”,”activity”:”2013-01-11 12:33:53″,”activity_pretty”:”Today”},{“title”:”Why is the sky […]
我正在使用struts2 for Action和jquery for UI … 我想知道如何将Map对象转换为JSON对象并将其发送回UI, 现在能够在JSP页面中打印普通的java Map对象: {71=Heart XXX, 76=No Heart YYY} 但我希望它是这样的: {71:Heart XXX, 76:No Heart YYY} 我将如何实现这一目标……?
我想知道如何在CodeIgniter中使用AJAX从数据库中获取数据。 您可以查看下面的代码,找出问题的原因吗? 单击我视图中的链接时没有任何反应。 这是我的观点: 这是我的控制器: public function get_faq_data() { $this->load->model(“model_faq”); $title = $_POST[‘title’]; $data[“results”] = $this->model_faq->did_get_faq_data($title); echo json_encode($data[“results”]); } 这是我的模型: public function did_get_faq_data($title) { $this->db->select(‘*’); $this->db->from(‘faq’); $this->db->where(‘faq_title’, $title); $query = $this->db->get(‘faq’); if ($query->num_rows() > 0) { return $query->result(); } else { return false; } } 这是我的JavaScript文件: $(“.faq_title”).click(function() { var title = $(this).text(); $.ajax({ url: ‘faq/get_faq_data’, […]