我正在尝试使用AJAX来更改我的网页。 xml_whoid.php
似乎工作正常。 jQuery一直有效,直到我添加该函数(即使它只是警报)。我怀疑这是一个语法错误,但我找不到问题。
我也不知道如何访问返回的值。我有一本jQuery书,但它没有说明如何在compare语句中使用AJAX返回值。我用google搜索了很多次,但是这些例子都有 function(result){ “在此处理数据”或“result.data.length” }
这似乎是一个简单的问题,但我一直在撕扯我的头发,因为我不想问另一个(愚蠢的)问题,但可以告诉我的备份日期我一直坚持试图将这个AJAX代码工作5天。
xml_whoid.php
<?php
require_once("../../includes/initialize.php");
require_once("../../includes/functions.php");
require_once("../../includes/session.php");
require_once("../../includes/database.php");
if ($session->is_logged_in()) {
$idwho=$_POST["idwho"];
$session->changeidwho($idwho);
$whos = Whostaff::find_one_by_who($idwho);
if ($whos) {
echo "1";
} else {
echo "0";
}
}
?>
<script type="text/javascript">
function changewho(idwho,mydesc) {
$('#who').html(mydesc);
$('#whofoot').html(mydesc);
$('#whomaint').html(mydesc);
$("#visible1").show();
$("#visible2").show();
$("#visible3").show();
$("#visible4").show();
$("#visible5").show();
$.post('xml_whoid.php', { idwho: idwho });
$.ajax({
url: "xml_whoid.php",
type: "POST",
async: false,
data: {
idwho: idwho
},
function(result) { // This code causes everything to fail.
alert('Fetched'); //
//if(result==0){ // I have searched and searched but
// $("#visible6").show(); // I cannot work out if this is how
//} // to access the returned value.
}
});
}
</script>
我使用“async:false”,因为此页面并不经常使用且仅在内部使用。
答案 0 :(得分:3)
您错过了密钥success
:
$.ajax({
url: "xml_whoid.php",
type: "POST",
async: false,
data: {
idwho: idwho
},
success: function(result) {
alert('Fetched');
}
});
答案 1 :(得分:1)
ajax调用有一个名为success
的回调函数和另一个error
功能成功后,您可以检索从功能返回的消息
使用函数错误,您可以处理php页面中的错误或出错。
在您的代码中,您错过了插入回调函数的名称
试试这个:
$.ajax({
url: "xml_whoid.php",
type: "POST",
async: false,
data: {
idwho: idwho
},
success: function(result) {
alert('Fetched');
},
error: function(error) {
alert(error);
}
});
答案 2 :(得分:0)
返回功能应写为
success: function(result) {
alert('Fetched');
}