我試圖使用AJAX調用webmethod
功能,但無法獲得適當的結果。我搜索了我的問題,發現了很多解決方案,但那些解決方案對我來說並不合適。請指導我做錯了什麼。幫助將不勝感激。ASP.NET 500內部服務器錯誤,同時從javascript調用webmethod
乾杯
代碼段
function checkUserNameExists() {
//initialization
var pagePath = window.location.pathname + "/getUsername";
var value = document.getElementById('control_userName').value;
var dataString = "{ 'value':'" + value + "' }";
$.ajax({
type: "GET",
url: pagePath,
data: dataString,
contentType: "application/json; charset=utf-8",
dataType: "json",
error:
function (XMLHttpRequest, textStatus, errorThrown) {
},
success:
function (result) {
var flag = true;
if (result != null) {
flag = result.d;
if (flag == "True") {
alert('okay fine you are good');
}
else {
alert('try again');
}
}
}
});
}
方法在代碼隱藏文件
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public string getUsername(string value)
{
return "True";
}
EXCEPTION
ExceptionType: "System.InvalidOperationException"
Message: "An attempt was made to call the method 'getUsername' using a POST request, which is not allowed."
是該方法在頁面類中實現。我已經將它的簽名更改爲靜態,但仍然得到相同的錯誤。 - > GET http:// localhost:7492/route/frame_signup/signup.aspx/getUsername?abc 500(內部服務器錯誤) –
您做了其他事情嗎? var dataString = {'value':value};而不是var dataString =「{'value':'」+ value +「'}」;? 你能在這裏發佈錯誤嗎? – ShaharB
是的,我這是你上面提到的同樣的結果,但仍然是相同的結果。 –