我有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