0
請參閱下面的AJAX代碼:AJAX陣列停止AJAX調用
function Save()
{
var checkBoxArray = $("input:checkbox:checked").map(function() {
return this.id
}).get();
var str = JSON.stringify(checkBoxArray);
var user = document.getElementById("ctl00_ContentPlaceHolder1_lstUsers");
$.ajax({
type: "POST",
url: "frmReview.aspx/AllocateReview",
data: '{strUser: "' + user.value + '", strCheckBoxes: ' + str + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess(),
async: false,
failure: function (response) {
alert('There was a problem allocating the reviews')
}
});
function OnSuccess() {
return function (response) {
alert("The reviews where allocated successfully");
}
}
}
和下面的服務器端代碼:
<System.Web.Services.WebMethod()> _
Public Shared Sub AllocateReview(ByVal strUser As String, ByVal strCheckBoxes As String)
msgbox("got here")
End Sub
我把一個斷點在MessageBox(服務器端)。但是,它沒有達到。如果我不傳遞str(這是一個數組),即我將它排除在客戶端和服務器端,就會到達它。爲什麼數組不傳遞給服務器?沒有錯誤 - 就好像沒有任何反應。
你應該通過一個JavaScript名/值對象作爲'data'的價值;它不應該只是一個字符串,除非它是以URL查詢字符串的形式。 – Pointy
@Pointy,你可以在答案中發佈? – w0051977
@Pointy如果服務器期望它可以傳遞一個JSON字符串 – epascarello