[英]php5 and jQuery ajax return function results
我不确定如何将php函数结果返回给jQuery ajax请求我的functions.js文件中包含以下函数:
var PartNumber = "123456890";
$.ajax({url: 'aoiprocedures?Action=loadparsedata&FullPartNumber=' + PartNumber,
success: function(oData){
alert(oData);
}});
和我的aoiprocedures.php文件中包含以下内容:
<?php
$pcAction = isset( $_REQUEST['Action'] ) ? $_REQUEST['Action'] : "";
$FullPartNumber = isset( $_REQUEST['FullPartNumber'] ) ? $_REQUEST['FullPartNumber'] : 0 ;
switch($pcAction){
case "loadparsedata":
$GenerateMsg = DoParseFile($FullPartNumber);
break;
}
function DoParseFile($FullPartNumber){
//do a bunch of stuff//
return $FullPartNumber ;
};
?>
因此,出于测试目的,我应该回到我的javascript alert()框“1234567890”但我得到“”(空白)。 有任何想法吗?
正如CoolStraw已经说过的那样,ajax认为响应与浏览器中看到的完全相同。 因此,除非你打印出来,否则你会得到一个空白的答案。
所以...
更改:
return $FullPartNumber ;
至:
echo $FullPartNumber ;
也改变:
$GenerateMsg = DoParseFile($FullPartNumber);
至:
DoParseFile($FullPartNumber);
您必须回显或打印结果。 您通过浏览器访问php文件时出现的内容是您的ajax调用将收到的结果
尝试:
<script type="text/javascript">
var PartNumber = "123456890";
$.post("aoiprocedures", { my_action: "loadparsedata", FullPartNumber: PartNumber} , success: function(oData){
alert(oData);
});
</script>
<?php
function DoParseFile($FullPartNumber){
//do a bunch of stuff//
echo $FullPartNumber ;
};
$pcAction = isset( $_POST['my_action'] ) ? $_REQUEST['my_action'] : "";
$FullPartNumber = isset( $_REQUEST['FullPartNumber'] ) ? $_REQUEST['FullPartNumber'] : 0 ;
switch($pcAction){
case "loadparsedata":
$GenerateMsg = DoParseFile($FullPartNumber);
break;
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.