奇怪的错误:未捕获TypeError:非法调用ajax

时间:2015-05-30 10:54:59

标签: javascript php ajax

更新

问题解决了,似乎我是愚蠢的,忘记在引用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);
                }

            });

    }

2 个答案:

答案 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;

更多信息:https://stackoverflow.com/a/11071290/1130234