我正在尝试将AJAX请求的响应数据加载到knockout可观察数组中。
这是我的AJAX请求:
self.loadAssets = function(projectId) {
$.ajax({
url: "/Assets/getJson/"+projectId,
dataType: 'json',
success: function(json_data){
console.log(json_data);
alert('success');
$.each(json_data['getassets'], function(){
viewModel.addAsset(this.type, this.content, 'user-'+this.type, this.width, this.height, this.top, this.left);
});
}
});
};
在检查器中,我可以看到对“/ Assets / getJson / id”的请求成功(200代码) 但警报永远不会被调用??
我花了一整天时间查看示例和教程,但我无法弄清楚我做错了什么。
我的Json文件如下所示:
{
"getassets":[
{
"id":1,
"type":"Text",
"content":"[Your Text]",
"width":"200",
"height":"100",
"top":"0",
"left":"0",
"selected":true
},
{
"id":2,
"type":"Text",
"content":"[Your Text]",
"width":"200",
"height":"100",
"top":"100",
"left":"200",
"selected":true
},
{
"id":3,
"type":"Text",
"content":"[Your Text]",
"width":"200",
"height":"100",
"top":"0",
"left":"0",
"selected":true
},
]
}
答案 0 :(得分:0)
我已经多次看到这种情况发生在内容类型不匹配的情况下。
检查输出的内容类型是否设置为application / json
还要添加到您的ajax调用
contentType: "application/json"