簡體   English   中英

服務器未從ajax調用接收數據

[英]Server does not receive data from ajax call

我有個問題。 我正在嘗試通過ajax調用發送textarea的內容,但是它似乎沒有用,我也不知道為什么。

有一種稱為GetStatus(string statusText)的方法,該方法需要接收內容。

這是JavaScript代碼:

$("#btnSaveStatus").on("click", function () {
                    var statusText = $(".textareaEdit").val();

                    $.ajax({
                        type: "GET",
                        url: "Default.aspx/GetStatus",
                        data: "{statusText:'" + statusText + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (result) {
//                            $('#littlbioID').text(result.d);
                        }
                    });
                });

請指教。 您還應該知道,我是Web開發的新手。

  1. 您不能在GET請求中包含請求正文,而必須為此使用POST請求
  2. 您正在構造的字符串不是有效的JSON,因為:
    • 屬性名稱必須是字符串
    • 您不知道用戶將在文本區域中輸入什么-它可能包含JSON中具有特殊含義的字符

以編程方式生成JSON。

{
  type: "POST",
  url: "Default.aspx/GetStatus",
  data: JSON.stringify({
    statusText: statusText
  }),
  // etc

顯然,還需要將流程的服務器端設置為接受帶有JSON主體(而不是更標准的URL表單編碼格式)的POST請求。

嘗試這個:

$("#btnSaveStatus").on("click", function () {
                    var statusText = $(".textareaEdit").val();
                    var jsonText = new Object();
                    jsonText.statusText = statusText;

                    $.ajax({
                        type: "POST",
                        url: "Default.aspx/GetStatus",
                        data: JSON.stringify(jsonText);,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (result) {
//                            $('#littlbioID').text(result.d);
                        }
                    });
                });

暫無
暫無

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

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