簡體   English   中英

php5和jQuery ajax返回函數結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM