更新
问题解决了,似乎我是愚蠢的,忘记在引用title元素后放入.value。
我已经使用ajax几个月了,之前从未遇到过这样的错误。
我正在创建一个formData数组,并使用ajax将其传递给php脚本,就像我以前做过很多次一样,但是我现在遇到了这个奇怪的错误。
它可能与我的formData有关吗?我无法看到它与以前的做法有什么不同。
任何帮助都会很棒,谢谢!
//This function will add the product and its details to the cart.
function addToCart(e)
{
//alert("CLick");
calculatePrice();
//Get the product ID from the URL
var id = getParameterByName('productID');
alert(id);
//Get the title.
var title = document.getElementById('title');
//Get the qty.
var qty = document.getElementById('qty').value;
//Get the weight.
var weightList = document.getElementById('weightList');
var weightText = weightList.options[weightList.selectedIndex].text;
//alert("Text: " + weightText);
var weightValue = weightList.options[weightList.selectedIndex].value;
//alert("Val: " + weightValue);
formData = {"ID" : id, "SRC": "", "Title" : title, "Qty" : qty, "Weight" : weightText, "Totalprice" : totalPrice, "Singularprice" : weightValue, "Action" : "Add"};
$.ajax(
{
url: 'manipulateCart.php',
type: "POST",
data: formData,
success: function(data)
{
alert("cc");
//document.getElementById('content').innerHTML = "";
//$('#content').append(data);
},
error: function(xhr,err)
{
alert("Error: " + xhr + " " + err);
}
});
}
答案 0 :(得分:2)
此行中缺少.value
var title = document.getElementById('title').value;
^^^^^
答案 1 :(得分:0)
您正在将title
变量传递给formData对象。此变量保存#title
元素,而不是该元素的值。将.value
添加到var title = document.getElementById('title');
结果:
var title = document.getElementById('title').value;
。