我发布到一个返回以下json编码字符串
的php页面{"msg":"Hi {{full_name}}, <br \/>\r\n<br \/>\r\n It was nice meeting you."}
我在<script> </script>
但是,当运行$.post()
并尝试输出data.msg时,它会显示undefined
。
这是完整的代码
$.post("mass_messaging.php",{template_id: template_id})
.done(function(data){
console.log(data.msg)
//Outputs undefined???
});
以下是我的HTML代码片段
<script>
addMustachePlaceHolder();
{"msg":"Hi {{full_name}}, <br \/>\r\n<br \/>\r\n It was nice meeting you."}
</script>
任何帮助都会非常感激。
答案 0 :(得分:2)
你可能需要解析json,因为它是一个字符串,你需要一个对象。如果设置数据类型,jQuery可以自动执行此操作:
$.post("mass_messaging.php", {template_id: template_id}, function(){}, "json")
^^^^^^ here
除此之外,还不完全清楚你要归还的是什么。你应该只从你的php脚本中返回一个有效的json字符串而不是其他内容;没有脚本标签,javascript等。
答案 1 :(得分:1)
我找到了答案。我正在使用返回json字符串的json_encode()。
所以我刚用data = JSON.parse(data);
它有效!
以下是我做的事情
$ .post(&#34; mass_messaging.php&#34;,{template_id:template_id})
.done(function(data){
data = JSON.parse(data);
console.log(data.msg);
});
答案 2 :(得分:0)
var obj = jQuery.parseJSON( data );
console.log(obj.msg);