0

コメントのあるページがあります。ajax で、php ページにリクエストを送信します。次に、PHP はデータベースをスキャンします... 一般に、標準的な論理操作です。いずれにせよ、私はphpに会います

echo '<script>show_info("my_text")</script>';

(show_info - 情報 div を切り替えてテキストを表示する js 関数)。そして、すべてが順調であれば、DB が送信されます

echo 'ok';

私のアヤックスの成功

success: function (data) {
  if (data == "ok") {
    document.write ("It's work!");
  };
}

しかし、残念ながらそれはうまくいきません。おそらく、データをスクリプトとその他のテキストの 2 つの部分に分割する必要があるかもしれません。

4

1 に答える 1

2

応答として、すぐに応答をサーバーに送信していますecho '<script>show_info("my_text")</script>';。このため、data'ok' と評価されません。

代わりに、配列を送り返す必要があります。

$ret = array(
    'script' => 'show_info("my_text")',
    'status' => 'ok'
);
echo json_encode($ret); // <--this should be done after all processing

dataType次に、ajax関数でパラメーターを追加する必要があります

$.ajax({
    //etc
    dataType: 'json',
    success: function(data){
        if(data.status == 'ok'){
            eval(data.script);
        }
    }
});
于 2013-10-15T17:48:51.250 に答える