今日は jquery オートコンプリート プラグインをいじっています
バックグラウンドからドロップダウン データを取得するために ajax を使用しましたが、それはとても面倒でした
まず第一に、thinkphp を使用していることを説明させてください。フレームワーク
まず、json データを返す必要があります
次に、return json_encode($end,JSON_UNESCAPED_UNICODE);
return json_encode($end,JSON_UNESCAPED_UNICODE);
结果前端js插件一直报错,大概就是说返回的json数据不合法
然后捣鼓了好长时间我就尝试用 echo json_encode($end,JSON_UNESCAPED_UNICODE);
その結果、フロントエンド JS プラグインはエラーを報告し続けました。これはおそらく、返された json データが不正であることがわかりました
そこで、長い間いじくり回した後、 echo json_encode($end ,JSON_UNESCAPED_UNICODE);
を使用してみました
今日は jquery オートコンプリート プラグインをいじっています
バックグラウンドからドロップダウン データを取得するために ajax を使用しましたが、それはとても面倒でした
まず第一に、thinkphp を使用していることを説明させてください。フレームワーク
まず、json データを返す必要があります
次に、return json_encode($end,JSON_UNESCAPED_UNICODE);
return json_encode($end,JSON_UNESCAPED_UNICODE);
结果前端js插件一直报错,大概就是说返回的json数据不合法
然后捣鼓了好长时间我就尝试用 echo json_encode($end,JSON_UNESCAPED_UNICODE);
その結果、フロントエンド JS プラグインはエラーを報告し続けました。これはおそらく、返された json データが不正であることがわかりました
そこで、長い間いじくり回した後、 echo json_encode($end ,JSON_UNESCAPED_UNICODE);
を使用してみました
js コールバックには値が必要であり、php は json 文字列を受信する前に出力する必要があります。
これは http プロトコル、リクエストの送信とレスポンスの受信の概念です。応答によって返されるコンテンツには値が存在する必要があります。 Ajaxのみ取得可能です。
PHPがjson文字列をそのまま出力する文はecho、関数はexit()die()です
thinkphpでのコントローラー層の戻りについては。 thinkphp コア コントローラー クラスに戻りました。最後に、コントローラーが何も出力しない場合、応答の内容は空になります。
SF は以前にも同様の質問をしました: エコーとリターンの違いについて
もう一度言わせてください:
return
は、結果を PHP プログラムに返します。return
是给PHP程序返回结果的。echo
echo
は Ajax 応答です。
私は本当に酔っています。元の投稿者はフロントエンド js でエラーを見つけました。ajax の戻り値を確認できなかったのでしょうか?何が問題なのかは明らかではないでしょうか?
正しいアプローチは次のとおりですreturn
是在function里返回的。echo
リーリー
return
は関数内で返されます。 echo
がページに出力されます。
🎜TP には $this->ajaxReturn(); メソッドがあり、これを直接使用できます。 🎜