我有2个文件(call.php和post.php)和使用ajax传递值从调用发布,我想从帖子返回值,但这是行不通的。当我改变职位,修改“返回”为“回声”,它的工作原理,但我不知道why.an任何人给我一个帮助?
例子将不胜感激。Ajax返回值与返回不起作用
call.php
<script type="text/JavaScript">
$(document).ready(function(){
$('#submitbt').click(function(){
//var name = $('#name').val();
//var dataString = "name="+name;
var dataPass = {
'name': $("#name").val()
};
$.ajax({
type: "POST",
url: "post.php",
//data: dataString,
data: dataPass,//json
success: function (data) {
alert(data);
var re = $.parseJSON(data || "null");
console.log(re);
}
});
});
});
</script>
post.php中:
<?php
$name = $_POST['name'];
return json_encode(array('name'=>$name));
?>
更新:
相比之下 当我使用MVC “回归” 会火。
public function delete() {
$this->disableHeaderAndFooter();
$id = $_POST['id'];
$token = $_POST['token'];
if(!isset($id) || !isset($token)){
return json_encode(array('status'=>'error','error_msg'=>'Invalid params.'));
}
if(!$this->checkCSRFToken($token)){
return json_encode(array('status'=>'error','error_msg'=>'Session timeout,please refresh the page.'));
}
$theme = new Theme($id);
$theme->delete();
return json_encode(array('status'=>'success'));
}
$.post('/home/test/update',data,function(data){
var retObj = $.parseJSON(data);
//wangdongxu added 2013-08-02
console.log(retObj);
//if(retObj.status == 'success'){
if(retObj['status'] == 'success'){
window.location.href = "/home/ThemePage";
}
else{
$('#error_msg').text(retObj['error_msg']);
$('#error_msg').show();
}
});
将某些东西放到PHP的流中时,使用'echo'。添加在$ .ajax()中使用此选项时使用'return'用于PHP – NoLifeKing