所以我只是不知道我在這個問題上出錯了。這是其中一件事一切正常,我做了調整,然後我睡着了,不記得我做了什麼。所以我的問題是,這個AJAX調用失敗:jquery ajax刷新失敗的回調頁面
var url = 'lib/php/addToCart.php';
var sent = $.post(url, data, null, 'json');
sent.done(function (data) {
$('.badge').html(Object.keys(data).length);
console.log('item added to cart');
alert("Added To Your Cart. Please Continue Shopping");
});
sent.fail(function (data, b, c) {
console.log("failed adding item: " + c);
var propValue;
for(var propName in b) {
propValue = b[propName];
console.log(propName,propValue);
}
});
唯一的錯誤,我可以從失敗得到的是「錯誤」,當我做jqXHR錯誤我響應得到一個功能。
這裏是被稱爲我的PHP文件:
session_start();
$itemNum = $_POST['upc'];
$price = $_POST['price'];
$title = $_POST['title'];
$qty = 1;
$cartData = $conn->prepare("SELECT available FROM yardSale.dvdTbl WHERE upc = ?");
$cartData->bind_param("s", $itemNum);
$cartData->execute();
$cartData->store_result();
$cartData->bind_result($available);
$cartData->fetch();
$linePrice = $price * $qty;
$cartName = $title;
$_SESSION['cart'][$cartName] = array(
"cartName" => $cartName,
"itemNum" => $itemNum,
"title" => $title,
"itemPrice" => $price,
"linePrice" => $linePrice,
"qty" => $qty,
"available" => $available
);
echo json_encode($_SESSION['cart']);
,然後如果你需要它,我有一個事件處理程序去用Ajax調用的函數:
event.stopImmediatePropagation();
var upcNum = $(this).attr('id');
var formID = 'info:' + upcNum;
console.log(upcNum);
var formData = $(this).serialize();
console.log(formData);
addItem(formData);
我我確定這是另一個我真正愚蠢的事情,但我無法弄清楚錯誤會從哪裏來,或者爲什麼頁面更新。
在fire bug中文件只顯示爲紅色,只有請求標題,沒有響應標題。對我來說真正的踢球者是php文件實際上處理了它應該的信息,應該返回的json將是有效的json。
請不要嘲笑我的代碼......如果你想幫助我很好地接受批評;但請不要光顧我。
即使你累了,你應該提供o非常相關和完整的代碼。 你是否點擊了觸發AJAX調用的鏈接或者其他具有'href'屬性的元素?如果是這樣,你應該添加'event.preventDefault()'。 –
對不起,不完整的代碼。我只留下了實際的事件處理程序和函數名稱。不會再發生 –
,你完全正確的Code Spirit。我在睡着之前做出的其中一項改變是關閉一般event.preventDefault()來排除完全不同的事情。 –