簡體   English   中英

為什么當我用stringify發布html時會發生此ajax錯誤

[英]why does this ajax error happen when I post html with stringify

當我嘗試使用stringify在字符串中發布html時,為什么會發生此ajax錯誤。

看起來stringify會自動轉義字符。

我必須逃跑嗎? 謝謝

var s;

//s = "my test test"; //if I post this it works

s = "my test test<br />"; //if I post this it break when I add the html

        var a = { "myText": JSON.stringify(s) };

        $.ajax({
            type: "POST",
            url: "test.aspx",
            data: a,
            success: function (data) {

                  //pass

            },
            error: function () {
            alert("error");

            }
        });

然后在頁面加載上,我試圖讀取發布的數據

HttpContext.Current.Request.Form("myText")

嘗試這個:

var s = "my test test<br />",
a = { "myText": s };
a = JSON.stringify(a)
$.ajax({
    type: "POST",
    url: "test.aspx",
    data: a,
    success: function (data) {
          //pass
    },
    error: function () {
    alert("error");

    }
});

您不需要調用JSON.stringify()。

JSON.stringify旨在將對象序列化為JSON字符串,但是您正在將字符串傳遞給它,這是錯誤的。

只需通過$ .ajax()調用傳遞對象:

var s = "my test test<br />";
.ajax({
    type: "POST",
    url: "test.aspx",
    data: {
        myText: s
    },
    success: function (data) {
          //pass
    },
    error: function () {
        alert("error");
    }
});

還有jQuery文檔

數據選項可以包含格式為key1 = value1&key2 = value2的查詢字符串,也可以包含格式為{key1:'value1',key2:'value2'}的映射。

因此,在我們的特定示例中,我們使用了表單的“地圖”,即JavaScript對象。

暫無
暫無

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

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