簡體   English   中英

無法提醒JavaScript數組中的響應

[英]Unable to alert response in javascript array

我是使用jQuery和東西的新手,所以請原諒我缺乏解釋或使用錯誤的術語。

目前,我無法顯示html,因為它顯示空白頁。 我試圖調試我的php,看來那里沒有錯誤。 當我嘗試在瀏覽器上鍵入url時,例如可以顯示以下內容:

[{"vendorid":1,"vendor_name":"Korean stall","item_id":"1","item_name":"kimchi fried rice","item_image":kimchi fried rice.jpg,"item_description":aromatic fried rice,"price":"3.00","available":"Yes"}]

通過使用以下代碼附加到表中,可以從上一頁的圖像中獲取vendorid:

<a href='#' class='ui-img' onClick='window.location=&quot;shop.html?vendorid=" + arr[i].vendorid + "&quot;'><img src='" + serverURL() + "/images/" + arr[i].imagefile + "' height='150'>

在JavaScript中,我能夠警報(URL)並獲得供應商ID。 但是我什么也沒出來就無法在alert(response)中發出警報。 但是,當我嘗試onclick =“ shop()”; 沒有得到任何供應商id,我的警報(url)顯示vendorid = undefined,然后顯示第二個警報alert = []。

這是我的javascript:

    function getShopDetails() {
            var xmlhttp = new XMLHttpRequest();
            var url = serverURL() + "/shop.php";
            url += "?vendorid=" + decodeURIComponent(getUrlVars()["vendorid"]);

            **alert(url);**
            xmlhttp.onreadystatechange=function() {
                 if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                     displayShopDetails(xmlhttp.responseText);
                 }
            }
            xmlhttp.open("GET", url, true);
            xmlhttp.send();     
    }

    function displayShopDetails(response){
        var arr = JSON.parse(**response**);
        **alert(response);**
        var i;

        $(**"#mybody"**).find("tr").remove();
        for(i = 0; i < arr.length; i++) {

        $(**"#mybody"**).append( 
            "<tr><td>" + arr[i].vendorID + 
            "</td><td>" + arr[i].vendor_name +
            "</td><td>" + arr[i].itemname +
            "</td><td>" + arr[i].price +
            "</td><td>" + arr[i].item_description + "</td></tr>"
        );

        }

        $(**"#itemtable"**).table("refresh");
   }

    getShopDetails(); 

這是我的html顯示表格:

    <div data-role="content" class="ui-content" id=**"itemtable"**> 
        <table data-role="table" data-mode="reflow" class="ui-responsive" id="homey">
            <tbody id=**"mybody"**>
            </tbody>
        </table>            
    </div>   

不知道這是否需要..但這是我的PHP:

    <?php 
    header("Access-Control-Allow-Origin: *"); 
    header("Content-Type: application/json; charset=UTF-8"); 

    $conn = new mysqli(XXXXX);
    $vendorid = $_GET['vendorid']; 
    $result = $conn->query("select * from menu where vendorid = '" . $vendorid . "'");

    $outp = "["; 
    while($rs = $result->fetch_array(MYSQLI_ASSOC)) {  
        if ($outp != "[") {$outp .= ",";}  
        $outp .= '{"vendorid":'  . $rs["vendorid"] . ',';  
        $outp .= '"vendor_name":"' . $rs["vendor_name"] . '",';  
        $outp .= '"item_id":"' . $rs["item_id"] . '",';  
        $outp .= '"item_name":"' . $rs["item_name"] . '",';  
        $outp .= '"item_image":' . $rs["item_image"] . ',';  
        $outp .= '"item_description":' . $rs["item_description"] . ',';  
        $outp .= '"price":"' . $rs["price"] . '",';  
        $outp .= '"available":"' . $rs["available"] . '"}'; } 

    $outp .="]"; 
    $conn->close(); 
    echo($outp); 
    ?> 

有誰知道為什么我不能在alert(response)中發出警報? 抱歉,冗長的帖子。 :((

如果您查看輸出數據的語法突出顯示

[{
    "vendorid":1,
    "vendor_name":"Korean stall",
    "item_id":"1",
    "item_name":"kimchi fried rice",
    "item_image":kimchi fried rice.jpg,
    "item_description":aromatic fried rice,
    "price":"3.00",
    "available":"Yes"
}]

您應該立即看到問題

    "item_image":kimchi fried rice.jpg,
    "item_description":aromatic fried rice,

沒有"周圍那些值

暫無
暫無

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

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