我发现了这个:
使用Python输出:
print ‘Content-type: text/x-json\n\n’
print json.dumps([{'title':arr['title']}])
并使用Jquery获取json字符串:
$ajax(
success: function(msg){
if(msg[0].title) alert(msg[0].title);
}
)
它有效,谁能告诉我它为什么?感谢〜
答案 0 :(得分:3)
如果Content-Type是json,jQuery在具有它的现代浏览器内部调用JSON.parse
return window.JSON && window.JSON.parse ?
window.JSON.parse( data ) :
(new Function("return " + data))();
答案 1 :(得分:1)
我相信jQuery能够根据您发送的标头确定响应类型,并自动将其评估为JSON。
答案 2 :(得分:1)
如果您将dataType
设置为"json"
或不设置它,而content-type
标头包含字符串"json"
,则试图解析它,you can see the logic at work here:
if ( typeof data === "string" ) {
// Get the JavaScript object, if JSON is used.
if ( type === "json" || !type && ct.indexOf("json") >= 0 ) {
data = jQuery.parseJSON( data );
// If the type is "script", eval it in global context
} else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) {
jQuery.globalEval( data );
}
}
如果您感到好奇,jQuery.parseJSON()
的来源为here。