ホームページ  >  記事  >  バックエンド開発  >  thinkphp の Ajax 実装原則

thinkphp の Ajax 実装原則

WBOY
WBOYオリジナル
2016-08-04 09:21:241098ブラウズ

thinkphp フレームワーク Ajax を学びましょう (今コードを載せるのが面倒だったので、回答者全員にお詫びします)
私のアイデアは次のとおりです: フロント デスクで Ajax をトリガーする -->> コントローラーを入力します -->> ; データベースから取得する Number-->> データをフォアグラウンド処理に直接返す
テンプレートをレンダリングせずにコントローラーから直接データを返すにはどうすればよいですか?
thinkphp の Ajax 実装原則

thinkphp の Ajax 実装原則

thinkphp の Ajax 実装原則

問題は$this->ajaxReturn();であるはずです
私はajaxReturn()を削除し、代わりにvar_dump($data)を使用しました
フロントデスクが受け取ったデータは次のとおりです
thinkphp の Ajax 実装原則

問題は最終的に解決されました。その理由は、見つかったものがjson形式ではないためです。ajaxReturn()が送信するものはjson形式ではないため、フロントデスクが受信するのはarray([0]=>array({})です。 ))、そのため $.parseJSON(data) を使用して解析することはできません。
データの解析には $.each(data[0], function(i,n){}) を使用してください
thinkphp の Ajax 実装原則

返信内容:

thinkphp フレームワーク Ajax を学びましょう (今コードを載せるのが面倒だったので、回答者全員にお詫びします)
私のアイデアは次のとおりです: フロント デスクで Ajax をトリガーする -->> コントローラーを入力します -->> ; データベースから取得する 数値 -->> 処理のためにデータを直接フォアグラウンドに返す
テンプレートをレンダリングせずにコントローラーから直接データを返すにはどうすればよいですか?
thinkphp の Ajax 実装原則

thinkphp の Ajax 実装原則

thinkphp の Ajax 実装原則

問題は$this->ajaxReturn();であるはずです
私はajaxReturn()を削除し、代わりにvar_dump($data)を使用しました
フロントデスクが受け取ったデータは次のとおりです
thinkphp の Ajax 実装原則

問題は最終的に解決されました。その理由は、見つかったものがjson形式ではないためです。ajaxReturn()が送信するものはjson形式ではないため、フロントデスクが受信するのはarray([0]=>array({})です。 ))、そのため $.parseJSON(data) を使用して解析することはできません。
データの解析には $.each(data[0], function(i,n){}) を使用してください
thinkphp の Ajax 実装原則

意味がよくわかりません。Ajax はデータを取得するためにバックグラウンドにリクエストし、それをフロントエンドのテンプレート エンジンを通じてフォアグラウンドにレンダリングします。なぜ「テンプレート レンダリングを通じてコン​​トローラーから直接データを返す」ということになるのでしょうか? 、データを返すためにテンプレート エンジンはまだ必要ですか?テンプレート エンジンを使用すると、文字列の結合が回避され、ajax から返されたデータの処理が容易になります。 Ajax リクエスト データはプロジェクトでよく使用されるため、私が使用した方法のように、メソッドを自分でカプセル化することができます:

リーリー

使用法:
1. リクエストが成功した:
$this->setResult($data);
$this->succeed(true)
2. リクエストが失敗した:
$this->setResult("Request failed" ) //書く必要はありません
$this->fail(true)

js での ajax リクエスト:

リーリー

$this->ajaxReturn($data);

以前は
$this->assian('data', $data);
$this->display();

でした

今度は
$this->ajaxReturn($data);

悪くないよ!学んだ!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。