1

ajaxproスクリプトをjQueryに置き換えようとしていますが、ajaxproまたはjqueryのいずれかを使用しているときにサーバーから取得する応答は、私が認識できないものです。

これはjquery呼び出しです:

$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: "/ajaxpro/CMS.ItemRetrieve.ashx",
    data: jsonData,
    beforeSend: function(xhr) {
        xhr.setRequestHeader("X-AjaxPro-Method", "ItemRetrieve");
        xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    },
    success: function(responseText) {
        console.log(responseText);
    }
})

そして、これは奇妙な反応です:

[0,"\r\n\r\n<div id=\"content\">test</div>\r\n "];/*

代わりにHTMLまたはXMLを期待していますが、これは配列のようですか?私は逃げて奇妙な終わりを理解していません。dataTypeをjsonに設定しようとしましたが、jsonではなく、htmlではなく、javascriptでしょうか?サーバー応答のコンテンツタイプがテキストに設定されているようです。

だから私の質問は、この応答をHTMLとして使用する方法、またはHTMLに変換する方法です。

4

1 に答える 1

1

を指定しないdataTypeと、jQuery は AJAX 呼び出しから返されたデータの形式を推測します。90%の確率で正しい。それ以外の場合は、少し助けが必要です。

これを試して:

$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: "/ajaxpro/CMS.ItemRetrieve.ashx",
    data: jsonData,
    dataType: "html", // Explicitly set the return data type
    ...
});

詳細はこちら

于 2011-11-25T15:19:06.497 に答える