【问题标题】:difference between json created dynamically from response and one hardcoded从响应动态创建的 json 和硬编码的 json 之间的区别
【发布时间】:2013-01-11 04:39:55
【问题描述】:

我正在尝试设置引导类型。这是我的 jquery 代码

    $(function () {
    $.ajax({
        type: "GET",
        url: "http://example.com/search?callback=my_callback",
        data: { keyword: 'r' },
        jsonpCallback: "my_callback",
        dataType: "jsonp",
        error: function (xhr, errorType, exception) {
            var errorMessage = exception || xhr.statusText;
            alert("Excep:: " + exception + "Status:: " + xhr.statusText);
        }
    });

    var sources = [
      { name: "local", type: "localStorage", key: "cities", display: "country" },
      { name: "remote", type: "remote", url: "/cities/list" },
      { name: "data", type: "data", data: [] }
    ];

    $('input.typeahead.local.remote').typeahead({
        sources: [
        { name: "local", type: "localStorage", key: "cities" }
      ]
    });
});

function my_callback(data) {
    alert(data.count);
    var src2 = '[';
    var i;
    for (i = 0; i < data.count; i++) {
        src2 = src2 + "{ id : " + (i + 1) + " , name: '" + data.response[i].name + "' },";

    }
    src2 = src2.substring(0, src2.length - 1);
    src2 = src2 + ']';
    var sampleJson = [{ id: 1, name: 'Really Awesome' }, { id: 2, name: 'RSpecge'}];
    localStorage.setItem("cities", JSON.stringify(src2));
}

在我的回调函数中,当我使用从 jquery ajax 调用返回的数据设置 localStorage 时,它不起作用。但是当我尝试使用变量 sampleJson 直接设置数据时,它起作用了。 是吗??

这是从 jquery ajax 的响应动态创建的 json,看起来与 sampleJson 相同

[{ id: 1, name: 'Really Awesome' }, { id: 2, name: 'RSpecge'}]

这里是sampleJson

var sampleJson = [{ id: 1, name: 'Really Awesome' }, { id: 2, name: 'RSpecge'}];

【问题讨论】:

    标签: javascript jquery ajax json bootstrap-typeahead


    【解决方案1】:

    你能澄清“不起作用”吗?尝试手动将数据序列化为 JSON 字符串是不必要的,而且容易出错。将您的数据作为常规 javascript 对象进行操作,然后在准备好时使用 JSON.stringify 将其转换为字符串。它将生成实际的 JSON,例如,要求所有键都用双引号括起来,而您的代码正在生成允许大多数键不被引用的 javascript 对象文字语法。

    【讨论】:

      猜你喜欢
      • 2017-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2016-11-26
      相关资源
      最近更新 更多