简体   繁体   English

php5和jQuery ajax返回函数结果

[英]php5 and jQuery ajax return function results

I'm not sure how to return php function results to a jQuery ajax request my functions.js file has the following function in it: 我不确定如何将php函数结果返回给jQuery ajax请求我的functions.js文件中包含以下函数:

 var PartNumber = "123456890";
 $.ajax({url: 'aoiprocedures?Action=loadparsedata&FullPartNumber=' + PartNumber,
    success: function(oData){
       alert(oData);
 }});

and my aoiprocedures.php file has the following in it: 和我的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 ;
  };
 ?>

so, for test purposes, I should be getting back in my javascript alert() box "1234567890" but I'm getting "" (blank). 因此,出于测试目的,我应该回到我的javascript alert()框“1234567890”但我得到“”(空白)。 Any ideas? 有任何想法吗?

As CoolStraw has already said, ajax sees as response exactly the same thing you see in the browser. 正如CoolStraw已经说过的那样,ajax认为响应与浏览器中看到的完全相同。 So unless you print something out, you will get a blank response. 因此,除非你打印出来,否则你会得到一个空白的答案。

So... 所以...

Change: 更改:

return $FullPartNumber ;

To: 至:

echo $FullPartNumber ;

Also change: 也改变:

$GenerateMsg = DoParseFile($FullPartNumber);

To: 至:

DoParseFile($FullPartNumber);

You have to echo or print your result. 您必须回显打印结果。 The content that comes out of your php file as in when you visit it via browser is the result that's gonna be received by your ajax call 您通过浏览器访问php文件时出现的内容是您的ajax调用将收到的结果

Try: 尝试:

<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM