Sammy.js不理解我的json
Sammy.js not understanding my json?
我正在使用带有ASP.NET MVC后端的sammy.js。我有一条这样的路线:
this.get("#/member/inbox", function (context) {
this.load('CurrentUser/Messages')
.then(function (items) {
$.each(items, function (i, item) {
context.log(item.Subject, '-', item.Text);
});
});
但是项目。主题和项目。文本未定义。我的json看起来像这样:
[{"Text":"Lorem ipsum","Created":"'/Date(1343375945089)'/","Subject":"test"},{"Text":"testext","Created":"'/Date(1343375945089)'/","Subject":"test2"}]
如果我用对$.get的调用来交换这个负载,它会起作用,但我想"以同样的方式"这样做有什么想法吗?
您确定"items"是一个数组吗?一个快速检查是console.log(items)
,看看你得到了什么。数组很可能不是顶级的东西,而是有一个包装器对象来保存数组,这样当JSON到达浏览器时,它实际上看起来更像这样(注意对象和"d"属性):
{"d": [{"Text":"Lorem ipsum","Created":"'/Date(1343375945089)'/","Subject":"test"},{"Text":"testext","Created":"'/Date(1343375945089)'/","Subject":"test2"}]}
生成JSON的脚本应该将HTTP Content-type
设置为application/json
或text/json
对于ASP.NET,这将是:
Response.ContentType = "application/json";
或
Response.Headers.Add("Content-type", "application/json");
我也有同样的问题。我发现sammy将正确加载保存为.json的本地文件。但是,从http调用的任何内容都无法使用("Content type"、"application/json")
您可以通过将自己的api json提要复制/粘贴到文件中来测试自己的设置。然后看看sammy是否能够正确加载。
this.get('#/contact', function(context) {
$('#header').html('This is the Contact Page')
this.load('Backboneapp_data.json')
.then(function(items) {
$.each(items, function(i, item) {
context.log(item);
});
});
});
好的,所以我更改了sammy.js中的1535行来自:
dataType: is_json ? 'json' : 'text'
至:
dataType: is_json ? 'json' : null
现在sammy明白了内容是json,现在不知道为什么。
在这些情况下,Sammy代码中肯定有需要改进的地方。当我遇到这种情况时,我会使用
var jsonItems = $.parseJSON(items);
这将从响应中生成一个合适的JSON对象。
相关文章:
- 如何将JSON数据导入我的ejs模板
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 用我的json数据填充JQuery DataTable
- 如何将我的json结构转换为C3.js所需的列结构
- 验证我的代码json
- JavaScript,JQuery.需要帮助才能获得'name'从我的JSON中删除
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 如何在Chrome中找到JSON后将其放入我的应用程序's开发人员工具
- 无法在我的JSON文件中发布数据
- 尝试使用Node.js动态路由从IMDB中抓取电影内容.但是在我的output.json文件中没有定义
- JSON.stringify正在忽略我的嵌套对象
- 为什么我的JavaScript / JSON脚本不能在Internet Explorer中工作
- 如何更改我的 json 结构
- 使用我的javascript中的所有json条目
- 从我的解析函数返回json
- 我可以't访问JSON中的第一个对象
- 将变量的值分配给我的对象标识符 JSON
- 我可以't返回我的json对象
- Sammy.js不理解我的json
- 我必须从下面的url中获取数据,其中包含json格式的数据