0
我是新來的asp.net MVC。我在MVC音樂商店工作。我幾乎完成了編碼部分,但我從購物車部分刪除項目時卡住了。從購物車刪除產品不工作在MVC音樂商店(AJAX)
我的查看頁面中使用的代碼如下:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write(unescape("%3Cscript src='/Scripts/jquery-1.7.1.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
<script type="text/javascript">
$(function() {
// Document.ready -> link up remove event handler
$(".RemoveLink").click(function() {
// Get the id from the link
var recordToDelete = $(this).attr("data-id");
if (recordToDelete != '') {
// Perform the ajax post
$.post("/ShoppingCart/RemoveFromCart", {"id": recordToDelete },
function (data) {
// Successful requests get here
// Update the page elements
if (data.ItemCount == 0) {
$('#row-' + data.DeleteId).fadeOut('slow');
} else {
$('#item-count-' + data.DeleteId).text(data.ItemCount);
}
$('#cart-total').text(data.CartTotal);
$('#update-message').text(data.Message);
$('#cart-status').text('Cart (' + data.CartCount + ')');
});
}
});
});
function handleUpdate() {
// Load and deserialize the returned JSON data
var json = context.get_data();
var data = Sys.Serialization.JavaScriptSerializer.deserialize(json);
// Update the page elements
if (data.ItemCount == 0) {
$('#row-' + data.DeleteId).fadeOut('slow');
} else {
$('#item-count-' + data.DeleteId).text(data.ItemCount);
}
$('#cart-total').text(data.CartTotal);
$('#update-message').text(data.Message);
$('#cart-status').text('Cart (' + data.CartCount + ')');
}
</script>
這裏是操作鏈接
<td>
<a href="#" class="RemoveLink" data-id="<%:item.RecordId %>">Remove from cart</a>
</td>
http://localhost:14652/ShoppingCart#當我點擊刪除購物車的鏈接,它更改爲此網址。
//
// AJAX: /ShoppingCart/RemoveFromCart/5
[HttpPost]
public ActionResult RemoveFromCart(int id)
{
// Remove the item from the cart
var cart = ShoppingCart.GetCart(this.HttpContext);
// Get the name of the album to display confirmation
string albumName = storeDB.Carts
.Single(item => item.RecordId == id).Album.Title;
// Remove from cart
int itemCount = cart.RemoveFromCart(id);
// Display the confirmation message
var results = new ShoppingCartRemoveViewModel
{
Message = Server.HtmlEncode(albumName) +
" has been removed from your shopping cart.",
CartTotal = cart.GetTotal(),
CartCount = cart.GetCount(),
ItemCount = itemCount,
DeleteId = id
};
return Json(results);
}
請幫助我。
由於您的定位標記的href中的「#」,網址正在發生變化。您可以將其更改爲按鈕或刪除href屬性。 。但是,您需要在$(「。RemoveLink」)。click()處理程序中添加一條警報語句,以查看其綁定是否正確。否則,您可以使用斷點並在Chrome開發人員工具中對其進行測試。 –
加載資源失敗:服務器響應狀態爲404(未找到) – user7090664
哪一個正在顯示404。按鈕單擊事件還是在您的開發人員工具的n/w選項卡中?您是否檢查控制器名稱和操作方法名稱是否與單擊事件中提供的url相匹配。 –