簡體   English   中英

為什么JQuery AJAX調用不起作用?

[英]Why JQuery AJAX call is not working?

以下是我的JQuery AJAX方法:

function meFun() {
    alert('enter');

    $.ajax({
        type: "POST",
        url: "About.aspx/GetRes",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            // Do something interesting here.
            alert(msg);
        }
    });
    alert('end');

}

以下是我的按鈕代碼:

<input type="button" onclick="meFun();" value="Click me" id="btn" />

滾動是About.aspx中的功能

Public Function GetRes() As Boolean
    Return True
End Function

meFun()方法已成功調用, GetRes()調用GetRes() ,並且AJAX調用未返回任何響應。

知道為什么嗎? 另外,請提出一種調試此類AJAX問題的好方法。

首先,確保服務器端具有GetRes函數的WebMethod屬性(這在C#中,我不知道您如何在VB中做到這一點)並使GetRes靜態(或VB中的任何等效功能)。

[WebMethod]
public static bool GetRes()
{
  return true;
}

然后,將error處理程序添加到您的jQuery ajax調用中:

$.ajax({
        type: "POST",
        url: "About.aspx/GetRes",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            // Do something interesting here.
            alert(msg);
        },
        error: function (data) {
        }
    });
    alert('end');

編輯:調試,在錯誤處理程序中設置一個斷點,並檢查data參數。 所有瀏覽器(我可以擔保IE,Firefox(帶有Firebug)和Chrome)都具有良好的腳本調試器。 如果發生錯誤,則data中將存在一個屬性,此屬性目前尚不明確,該屬性詳細說明了該錯誤。

當您的AJAX調用預期在服務器端使用JSON格式的AJAX調用時,您將在STRING格式中返回數據通過使用newtonsoft庫或asp.net的內置jsonconversion機制將TRUE轉換為JSON格式

如svajger所提到的,您必須將其聲明為webmethod,並且必須為靜態,返回類型為字符串型

在成功處理程序中,您必須通過JSON.parse方法解析json數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM