簡體   English   中英

從jQuery調用時如何獲取php函數的返回值?

[英]How to get the return value of a php function when calling from jQuery?

我有一個php函數返回一個字符串值,該值將放入html文件中。

function getDirectionInfo($routeNumber) {
    //some code here
    $dirinfo = "<p> some text </p>";
    return $dirinfo;
}

if (isset($_POST['getDirectionInfo'])) {
    getDirectionInfo($_POST['getDirectionInfo']);
}

所以在jQuery中,我有以下函數

$(".onebtn").click(function(){
    $("#directioninfo").empty();
    var routeNumber = $(this).text();
    $.ajax({
        url: "./systemView_Function.php",
        type: "POST",
        data: {"getDirectionInfo": routeNumber},
        success: function(data) {   
            console.log("HIHIHIHI");
            $("#directioninfo").append(data);
        }
    });
})

現在console.log會輸出“ HIHIHIHIHI”,但是jQuery不會將數據附加到html。 有誰知道從jQuery調用時如何獲取php函數的返回值?

代替退貨使用:

echo json_encode($dirinfo);
die;

dataType字段添加到設置為json $.ajax()函數參數中也是一個好主意,以確保成功函數中的數據將被正確解析。

  1. 您只需要使用echo將響應發送回去

  2. 使用var routeNumber = $(this).val(); 獲取按鈕值

PHP:

<?php
function getDirectionInfo($routeNumber) {
    //some code here
    $dirinfo = "<p> routeNumber". $routeNumber." </p>";
    return $dirinfo;
}

if (isset($_POST['getDirectionInfo'])) {
    echo getDirectionInfo($_POST['getDirectionInfo']);
}else{
    echo "not set";
}

AJAX和HTML

 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function(){ $(".onebtn").click(function(){ $("#directioninfo").empty(); var routeNumber = $(this).val(); console.log("routeNumber = " + routeNumber); $.ajax({ url: "systemView_Function.php", type: "POST", data: {"getDirectionInfo": routeNumber}, success: function(data) { console.log("data = " + data); $("#directioninfo").append(data); } }); }) }); </script> </head> <body> <div id="directioninfo"></div> <input type="button" value="12346" class="onebtn" /> </body> </html> 

謝謝大家 我剛剛發現我在jQuery中犯了一個非常愚蠢的錯誤。 我應該使用var routeNumber = parseInt($(this).text()); 而不是var routeNumber = $(this).text(); 因此,從jQuery調用時,以下代碼可以獲取php函數的返回值。

在PHP中

function getDirectionInfo($routeNumber) {
    //some code here
    $dirinfo = "<p> some text </p>";
    echo json_encode($dirinfo);
}

if (isset($_POST['getDirectionInfo'])) {
    getDirectionInfo($_POST['getDirectionInfo']);
}

在jQuery中

$(".onebtn").click(function(){
    $("#directioninfo").empty();
    var routeNumber = parseInt($(this).text());
    $.ajax({
        url: "./systemView_Function.php",
        type: "POST",
        data: {"getDirectionInfo": routeNumber},
        dataType: "JSON",
        success: function(data) {   
            $("#directioninfo").append(data);
        }
    });
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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