目前我遇到从PHP返回一些值到jQuery的问题 - 不知道该怎么做
$(document).ready(function(){
$('#testForm').submit(function(e){
$.post('submit.php',$(this).serialize(),function(msg){
$('#submit').val('Submit');
if(msg.status){
$('#testForm').html(msg);
}
else {
$('#testForm').html("fail");
}
},'json');
});
});
<?php
$name = $_POST['name'];
$email = $_POST['email'];
//echo json_encode(array('status'=>1,'html'=>$name." : ".$email));
echo '{"status":1,'.$name.'}';
?>
我想将name
变量值从PHP返回到jQuery,status = 1
表示成功,但我仍然没有运气。
答案 0 :(得分:5)
JSON语法非常严格。
但是,在您的情况下,由于您甚至没有指定属性名称而导致失败,因此您只有一个没有引号的裸值。
只需使用json_encode
,它就会为您处理所有边缘情况。
答案 1 :(得分:1)
您确定要返回有效的json字符串吗?
从这条指令:
echo '{"status":1,'.$name.'}';
假设$ name是一个普通字符串,例如“hello”,你将返回这个json字符串:
{“status”:1,hello}
这是无效的。