[英]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="shop.html?vendorid=" + arr[i].vendorid + ""'><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.