嗨我搜索很多从PHP回来得到一个respone,如果该respone是好的做一些,如果它的错误做其他事情(!!!!!!!! WHENE我有其他输出从PHP !!!! !!) 这是我的索引文件
<head>
<script src="jquery-1.7.2.js" type="text/javascript"></script>
<script src="js.js" type="text/javascript"></script>
</head>
<body>
<p> click </p>
<input type="text" id="who">
<br>
<input type="text" id="why">
<div id="bg" align="center">
</div>
</body>
这是我的JS文件
$(document).ready(function(){
$('p').click(function(){
var who = $('input#who').val();
var why = $('input#why').val();
$.post('file.php',{who:who,why:why},function(data) {
if(data.success){
alert(data.message);
}
else{ alert('ERROR:' + data.message);
}
});
});
});
这是我的file.php
<?php
$response = array('success' => 'true',
'code' => "jQuery('#bg').html('\"Javascript\", \"json\", \"PHP\"');");
echo json_encode($response);
?>
我的问题: 1-为什么这不起作用我得到警报(错误:未分解) 2-当我有其他输出时,我如何从该php文件中获得一些结果 像这样:
<?php
echo "1";
echo "2";
echo "3";
and now echo that json
?>
谢谢:(
答案 0 :(得分:3)
为什么这不起作用我得到警报(错误:未分解)
你必须告诉jQuery响应是JSON。您可以将'json'
作为第四个参数传递给$.post
[docs],或者在PHP中设置正确的响应头:
header('Content-Type: application/json');
或者,您可以使用jQuery.parseJSON
[docs]自行解析回复。
当我有这样的其他输出
时,如何从该php文件中获得一些结果
没有简单的方法。响应不再是有效的JSON,所以你必须以某种方式自己解析它。你应该避免这样做并将所有内容作为JSON返回。