0

json 応答で html から id で div を選択する必要があります。

サーバー側:

    ob_start();

    extract($this->validate($this->data));
    require("classes/View/". $this->view . ".phtml");

    $content = ob_get_contents();
    ob_end_clean();

    header('Content-type: application/json');

    echo json_encode(array(
        'messages' => $this->data["messages"],
        'content' => $content
));

そしてクライアント側で:

    $.ajax({  
        type: "POST",  
        url: o.url ,
        dataType: "JSON",
        data: o.ajax_data,
        success: function(response) {
                    $("#mydiv").html($(response.content).find("#mydiv"));
        }
    });

以前は、dataType として HTML を使用し、プレーンな HTML を応答として返したとき、すべてが機能していました。何時間も調査した後でも、正しい解決策がわかりません。誰でも私を助けてもらえますか?

===更新1===

console.log(response.content) => {"messages":[],"content":"完全なエスケープ HTML サイトはこちら"}

4

1 に答える 1

0

#mydiv(応答のプレースホルダー要素)をDOMプレースホルダーに配置しています#mydiv。おそらくやりたいことは、#mydivfrom response のコンテンツをプレースホルダーに配置することです。

response.contentあなたのHTMLコードが適切に形成されていると仮定すると、これはうまくいくはずです:

var content = $(response.content).find("#mydiv").html(); // get html of #mydiv in response
$("#mydiv").html(content);
于 2013-08-21T20:54:33.523 に答える