我有国家的json列表: http : //vocab.nic.in/rest.php/country/json 我正在尝试使用Bloodhound建议引擎获取country_id和国家名称。 我试过以下代码: var countries = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace(‘country_name’), queryTokenizer: Bloodhound.tokenizers.whitespace, limit: 10, prefetch: { url: ‘http://vocab.nic.in/rest.php/country/json’, filter: function(response) { return response.countries; } } }); $(‘#my-input’).typeahead({ hint: true, highlight: true, minLength: 1 }, { name: ‘states’, displayKey: ‘value’, source: countries.ttAdapter() }); 哪个不起作用。 我该如何更改代码才能使其工作?
我有一个tableDnD与JSON.stringify拖放: jQuery(document).ready(function() { jQuery(“#Table”).tableDnD({ onDragClass: “danger”, onDrop: function(table, row) { jQuery.ajax({ url: “ajax.php”, type: “post”, data: { ‘rows’ : JSON.stringify(table.tBodies[0].rows) }, dataType: ‘html’, success: function(reponse) { if(reponse) { //alert(‘Success’); } else { alert(‘Erreur’); } } }); } }); }); 我有这个错误消息: 未捕获的TypeError:将循环结构转换为JSON 我只在Chrome上遇到问题。
可以使用getRowData方法来检索单元格的当前内容,但是在它通过格式化程序之前,它会检索当前单元格内容而不是原始数据。 如何在应用格式转换之前检索原始内容? 仅供参考我使用JSON填充表格。
我想要做的是通过Ajax获取一个json对象,并使用一种值填充Bootstrap Typeahead。 这是我的代码: nameTypeHead: function () { var _self = this, searchInput = $(‘#nameTypeHead’), arr = []; function getArray() { $.ajax({ url: ‘/Home/AutoComplete’, type: ‘post’, dataType: ‘json’, data: { searchText: searchInput.val() }, success: function (data) { $.each(data, function () { arr.push(this.Name); }); return arr; } }); } searchInput.typeahead({ source: getArray() }); } 我收到arr为null的错误 我也试过.parseJSON()但没有成功: $.each($.parseJSON(data), […]
我正在使用jquery-ui-autocomplete (实际上,一个catcomplete附加到搜索框)。 只要我使用静态定义的项目数组作为源,它就可以很好地工作。 出于性能原因,我不希望自动完成function将Ajax请求发送到PHP脚本,这样就可以向MySQL发送%like请求。 所以, 我从DB生成了一个JSON文件 ,其中包含了搜索中可以匹配的每个项目(大约20-30项,来自许多sql表)。 当页面加载或用户开始在搜索框中输入时,我只想读取/解析文件一次。 我被困在这里。 我试图将Ajax调用附加到.catcomplete()(下面的代码)。 我还尝试进行getJSON调用并在其success()方法中创建.catcomplete。 两种方式都无声地失败。 我是JS / jQuery的新手,我已经喜欢它,但我有点迷失了。 任何有用的doc的帮助/解决方案/指针都将非常感激。 非常感谢你! 这是HTML :(真正的简单) 这是我的JS代码: $( “#searchfield” ).catcomplete({ delay: 0, source: function( request, response ) { $.ajax({ url: “/path/to/cache.json”, dataType: “json”, data: {term: request.term}, success: function(data) { response($.map(data, function(item) { return { label: item.label, category: item.category, desc: item.desc }; })); […]
我一直面临着@Html.AntiForgeryToken()严重问题。 我有一个注册控制器,它有一个创建视图来创建/注册新成员。 出于这个原因,我使用@Html.AntiForgeryToken()而不使用我的主提交表单中的任何SALT。 现在我想validation用户名是否已存在于我的用户名文本框的blur事件的数据库中。 为了validation,我编写了一个名为“Validation”的新控制器,并使用常量validationSALT编写了一个方法: [HttpPost] [ValidateAntiForgeryToken(Salt = @ApplicationEnvironment.SALT)] public ActionResult username(string log) { try { if (log == null || log.Length < 3) return Json(log, JsonRequestBehavior.AllowGet); var member = Membership.GetUser(log); if (member == null) { //string userPattern = @"^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$"; string userPattern = "[A-Za-z][A-Za-z0-9._]{3,80}"; if (Regex.IsMatch(log, userPattern)) return Json(log, JsonRequestBehavior.AllowGet); } } catch (Exception ex) […]
我试图从我在表单中获得的变量创建一个json对象。 var firstName = $(‘#firstName’).val(); var lastName = $(‘#lastName’).val(); var phone = $(‘#phoneNumber’).val(); var address = $(‘#address’).val(); 到目前为止,我有下面的代码,但它不会validation或工作。 我是新来的,请帮忙! 将var更改为: var jsonObject = { firstName: firstName, lastName: lastName, phoneNumber:phoneNumber, address:address } 在JSONlint我收到此错误: 第1行的解析错误:varjsonObject = { ^期待'{‘,'[‘
我有一个通过我的ASPX站点公开的WCF服务库,如下所示 [System.ServiceModel.OperationContract] [System.ServiceModel.Web.WebInvoke( Method= “POST”, RequestFormat=System.ServiceModel.Web. WebMessageFormat .Json, ResponseFormat=System.ServiceModel.Web.WebMessageFormat .Json)] LogonResponse Logon(LogonRequest logonRequest); [System.Runtime.Serialization.DataContract] [ Serializable()] public class LogonRequest { [System.Runtime.Serialization.DataMember] public string EMailAddress; [System.Runtime.Serialization.DataMember] public string Password; } 在我的测试页面中,我可以通过MS Ajax调用: – . . . function clsLogonRequest(eMailAddress, password) { this .EMailAddress = eMailAddress; this .Password = password; } function login(eMailAddress, password) { var LogonRequest = […]
我有这个对象 var dataformdata={“key1″:”value1″,”key2″:”value2”}; 然后我用这个相同的键(key3)添加更多的值 dataformdata.key3 = []; dataformdata.key3.push(“value3”); dataformdata.key3.push(“value4”); 我在每个斜坡做上面的事情。 这一切都有效,除了在浏览器控制台中通过jQuery ajax函数发送dataformdata对象时,我看到键中有括号… $.ajax({ type: “POST”, url: “/”, data: dataformdata, … 这是我在浏览器控制台中看到的: key1:value1 key2:value2 key3%5B%5D:value3 key3%5B%5D:value4 它应该工作,因为它在jQuery.ajax()文档中说 对象必须是键/值对。 如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值 但为什么键中的括号(%5B%5D)?
我从这样的API返回JSON: Contacts: [{ GivenName: “Matt”, FamilyName:”Berry” }] 为了保持这与我的代码样式(camelCase – 小写首字母)一致,我想转换数组以产生以下内容: contacts: [{ givenName: “Matt”, familyName:”Berry” }] 什么是最简单/最好的方法? 创建一个新的Contact对象并迭代返回的数组中的所有联系人? var jsonContacts = json[“Contacts”], contacts= []; _.each(jsonContacts , function(item){ var contact = new Contact( item.GivenName, item.FamilyName ); contacts.push(contact); }); 或者我可以映射原始或以某种方式转换它?