2010-08-27 52 views
0

我嘗試通過JSON對象的一些數據發佈到我的asp.net mvc的觀點,這裏是代碼JQuery的崗位職能問題

$("#submitButton").click(function() { 
       var name = $("#name")[0].valueOf(); 
       var price = $("#price").valueOf(); 
       var url = $("#url").valueOf(); 

       var product = { Name: name, Price: price, Url: url }; 
        $.post("/Home/NewProduct", product, function (json) { $('ul.items').append("<li><img src=" + url + "/></li>"); },"json"); 

      }); 

現在,結果是一個錯誤:

未捕獲的異常:[異常... nsresult 「上WrappedNative原型對象非法操作」: 「0x8057000c(NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)」 位置: 「JS幀:: http://localhost:1804/Scripts/jquery-1.4.2.min.js ::˚F::線132」 的數據:無]

我嘗試的JQuery 1.4 .1和1.4.2,如果我嘗試這個代碼,錯誤是相同的

$.ajax({ 
    type: "POST", 
    url: "/Home/NewProduct", 
    dataType: "json", 
    data: { Name: name, Price: price, Url: url }, 
    success: function() { $('ul.items').append("<li><img src=" + url + "/></li>"); } 
       }); 

我做錯了什麼?請幫忙! 謝謝!

+0

看起來像視覺工作室代碼完成是這裏的有罪罪魁禍首!當我將.val變成.valueOf時,我討厭它! – Patricia 2010-08-27 12:50:07

回答

3

爲了得到一個輸入類型元素的值,使用.val()代替.valueOf(),像這樣:

var name = $("#name").val(), 
    price = $("#price").val(), 
    url = $("#url").val(); 

當你一個jQuery對象調用.valueOf(),它得到DOM元素的數組...和該序列化不好:)

+0

它的工作原理,非常感謝 – Maki 2010-08-27 12:51:09

0

在你的$ .post調用,如果你傳遞JSON作爲第四個參數,然後jQuery將期望VALID json string只有其他方式可能會導致錯誤。有效的JSON的

例子是

var json = {"a":"my name", "b":"my school"};