0
我建立我的控制與文字HTML注入的ASP.NET應用程序。爲此,我更具體地使用x-editable(http://vitalets.github.io/x-editable/)庫。在下面的示例中,jQ是我在服務器端建立的字符串,id是表示控件ID的字符串,而方法是我爲事件傳遞的方法。使用瓦爾()在阿賈克斯的數據參數
jQ += "$('#" + id + "').editable({" +
"url: function (params) {" +
"return $.ajax({" +
"type: 'POST'," +
"url: 'foo.asmx/" + method +"'," +
"data: JSON.stringify({" + id + ":$('#" + id + "').val()})," +
"contentType: 'application/json; charset=utf-8'," +
"dataType: 'json'," +
"processData: false," +
"async: true," +
"cache: false," +
"timeout: 10000," +
"success: function (response) {" +
" alert(response);" +
" }," +
" error: function() {" +
"alert('Error in Ajax');" +
"}" +
"});" +
"}" +
"});";
這實際上所有的作品都很棒!除此之外,在這條線:
"data: JSON.stringify({" + id + ":$('#" + id + "').val()}),"
相應的WebMethod參數總是空空的回來。但是,如果我用一個常量代替它,像這樣:
"data: JSON.stringify({" + id + ":'11111')}),"
而且我在後端看到11111。我嘗試了第一種方式的單引號,沒有效果。不知道我做錯了什麼。
步驟之一將是CONSOLE.LOG'$( '# 「+ ID +」').VAL()'。它會返回'''',這將排除與它有關的ajax請求。通過刪除僅留下console.log的ajax請求並繼續調試來簡化示例。您可能會發現元素不是輸入,或者沒有值。 –