簡體   English   中英

從PHP返回JSON,將JSON轉換為javascript數組,從AJAX調用返回數組

[英]Returning JSON from PHP, convert JSON to javascript array, return array from AJAX call

我正在一個使用名為AjaxRequest的函數的項目中工作,該函數處理我提出的所有AJAX請求。 我在發出請求時沒有任何問題,但是將請求取回是問題所在,並將其放置在頁面上我想要的地方變得壓力很大。

HTML位

<body onLoad="calling();">
<div id="status">Status: </div>
</body>

JAVASCRIPT位

function calling() {
    var answer = ajaxRequest("testing", "test.php", "test=test");

    document.getElementById("status").innerHTML += answer[1];
    document.getElementById("status").innerHTML += " " + answer[3];
}

function ajaxRequest(app, location, credentials) {  
var extras = ""; 
if(credentials === "" || credentials) { 
        extras = "&" + credentials; 
    }

    var ajax = ajaxObj("POST", location);
    ajax.onreadystatechange = function() {
        if(ajaxReturn(ajax) == true) {
            var obj = JSON.parse(ajax.responseText);
            var arrayObj = [];
            for(var i in obj) { arrayObj.push([i, obj[i]]); }
            return arrayObj;
        }
    }
    ajax.send("app=" + app + extras); 
}

還有兩個其他函數正在運行:ajaxObj和ajaxReturn,但我將它們排除在外是因為它們不是問題。 此外,我正在嘗試使ajaxRequest成為一種高效的函數,該函數可以被多個應用程序使用,而不必在一個以上的位置重寫所有代碼。 所有錯誤處理都在實際使用ajaxRequest之前獲取。

PHP位

<?php
if($_POST['app'] == "testing") {
    $hey = array('success' => 1, 'message' => 'Successful');
    echo json_encode($hey);
    exit();
}
?>

我正在使用call作為執行所有錯誤處理的javascript函數,這只是我整個項目的基礎,但是我嘗試從php獲取JSON並將其轉換為array,問題是將數組返回給call。 我嘗試在頁面上顯示信息,但沒有任何效果。

我不想在我的項目中使用任何JQuery,因此我想在這段代碼中排除使用它。

如果需要,可以在發送回json之前設置標頭。

header('Content-Type:application / json');

通常您不需要它,但是它將告訴您的javascript它是json,並且該數組將在javascript對象中進行轉換。 它可以與Jquery一起使用,但我認為它也可以使用

暫無
暫無

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

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