以优雅的方式将响应文本解析为键值对
Parsing response text as key value pairs in an elegant way
似乎
无法在搜索中找到我要查找的内容,因此这可能是重复的,但我还没有找到原件,所以......
我有一个 ajax 电话:
$.ajax({
url: "/events/instructor/",
type: 'POST',
data: {
instructorID: $(this).attr("id")
},
complete: function (data) {
$("#name").html(data["responseText"]["name"]);
$("#email").html(data["responseText"]["email"]);
$("#photo").html(data["responseText"]["photo"]);
$("#summary").html(data["responseText"]["summary"]);
$("#url").html(data["responseText"]["url"]);
}
});
返回的数据由服务器 (C#( 以 JSON 编码。
显然,data["responseText"]["fieldName"]
并没有这样做。我可以做拆分之类的事情,但这意味着如果格式发生变化,我需要确保上面的代码跟上数据形状的变化。
我怎样才能说一些像data["responseText']["fieldName"]
这样简单的事情来从该键中获取值?
我认为您需要先解析 json。 看看 api.jquery.com/jquery.parsejson
// data = '{ "name": "John" }'
var obj = jQuery.parseJSON( data );
console.log( obj.name);
// result will be "John"
附言也最好使用"成功"而不是"完整",你可以在这里阅读 .success(( 和 .complete(( 之间的区别?
success: function(data) {
console.log("response is good", data);
},
error: function (){
console.log("something is went wrong");
}
尝试像这样使用:
complete: function (data) {
var data=JSON.parse(data);
$("#name").html(data.responseText.name);
$("#email").html(data.responseText.email);
$("#photo").html(data.responseText.photo);
$("#summary").html(data.responseText.summary);
$("#url").html(data.responseText.url);
}
若要仅获得正确的响应,请使用成功。
相关文章:
- 正在数组中存储键值对
- 如何将新的键/值对元素添加到现有数组
- 在键值对中对求和值进行下划线
- 返回由键/值对定义的数组
- 在url参数javascript中存储键值对列表
- 将数组转换为键值对
- jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中
- 使用jQuery从ajax调用访问键值对
- 将动态键值对传递给函数
- d3使用键值对对对多个值的数据进行分组
- JS在封装对象中查找键值对
- 从html标记格式的字符串中提取键值对
- JavaScript 在函数中声明键值对
- 在JavaScript中为表单元素生成键值对
- 如何给$('inputs')每个函数,以将数据存储为 asp.net 中的键值对
- 从 JSON 获取键值对而不使用 .(DOT) 在 Java 脚本或 jquery 中
- 在键值对的唯一组合上合并对象
- 以优雅的方式将响应文本解析为键值对
- 键/值对的JavaScript数组使用文本变量名作为键
- 如何有效地用许多静态键/值对填充Javascript对象文本