ホームページ > バックエンド開発 > PHPチュートリアル > file_get_content() によって返されたコンテンツを bootStrap のモーダル ボックスに表示します

file_get_content() によって返されたコンテンツを bootStrap のモーダル ボックスに表示します

WBOY
リリース: 2016-06-23 13:01:58
オリジナル
1055 人が閲覧しました

PHP の初心者です。file_get_content() で読み取ったテキストの内容をブートストラップのモーダル ボックスに表示したいのですが、それを実現する方法がわかりません。

まず最初に言っておきますが、投稿する前に自分で Baidu を Google で調べましたが、解決できませんでした。最後の焦点は、 ボタンをクリックし、パラメータ $p ($p = ../web/test.php) を file_get_contment() に渡し、次に file_get_content( ) に渡す方法です。返されたコンテンツは、表示のためにモーダル ボックスに渡されます。

ここのボタンをクリックしてモーダルボックスで表示してください




初心者、コードに多くの不規則性があることは承知しています、コメントしないでください


ディスカッションに返信(解決策)

ajax を使用してください: .php ファイルが Apache または nginx によって解釈されると、内部の が解釈され、それが HTML ファイルに変換され、ブラウザでは、事前に file_get_contents のコンテンツを取得して非表示にし (display:none;)、その後にボタンをクリックしてから、display:block; を実行しない限り、ユーザーがクライアントのボタンをクリックして file_get_contents をトリガーすることはできません。ボタンをクリックして、ajax リクエストを送信します。 file_get_contents のコンテンツ表示を取得するには、もちろんページを更新することもできます。

ajax を使用してください。.php ファイルが Apache または nginx によって解釈されると、内部の が解釈され、HTML ファイルに変換されてブラウザに送信されます。事前に file_get_contents のコンテンツを取得して非表示にし (display:none;)、ボタンをクリックしてから display:block; をクリックした場合を除き、ユーザーがクライアント上のボタンをクリックして file_get_contents をトリガーすることはできません。ボタンをクリックすると、Ajax リクエストを送信して file_get_contents のコンテンツ表示を取得します。もちろん、ページを更新することもできます。



投稿する前に、ajax を試して、file_get_content() を使用した後、file_get_content() で取得したコンテンツがバックグラウンドにパス $p = "../web/index.php" でファイル名を渡しました。 Json形式? 以前試してjson形式で返しましたが、うまくいきませんでした。したがって、問題は2つの点にあります。

バックグラウンドで返す
echo json_decode(file_get_content($p));
ログイン後にコピー


フォアグラウンド、ajax Set dataType:'json'

これも試しましたが、うまくいきませんでした

ご回答ありがとうございます

これは違いますfile_get_content() との直接関係
1. ページは bootStrap を使用するため、サーバーとの情報の交換に ajax を使用して、bootStrap が正常であるかどうかを判断できます。結果は正常ですか?
echo file_get_content (送信されたパス)
php で実装をシミュレートするだけです。クライアントとは関係ありません

3. 前の 2 つのチェックが正しい場合にのみ、データ形式もチェックする必要があります。は正しいです

file_get_contents はデータを取得するだけですが、最終的には取得したデータをブートストラップに入れるために js が必要になります。したがって、file_get_contentsとは何の関係もありません。
何が返されたかを確認する必要があります。

file_get_contents はデータを取得するだけですが、最終的には取得したデータをブートストラップに入れるために js が必要になります。したがって、file_get_contentsとは何の関係もありません。
何が返されたかを確認する必要があります。

ajax がデータを返した後、それが input タグに配置されている場合はアラートを表示できますが、div に配置されている場合は機能しません。タグは複雑ではなく、ほんの数行のコードですが、なぜ div の内容が表示できないのかわかりません

これが背景です


これが javascipt の機能です


これが書かれていますモーダルボックスのメソッド


これが実行結果です




div が ajax から返されたコンテンツを表示できない理由を知りたいです


file_get_contents はデータを取得するだけですが、最終的には js を配置する必要があります取得したデータをブートストラップに取り込みます。したがって、file_get_contentsとは何の関係もありません。
何が返されたかを確認する必要があります。


これは file_get_content() とは直接の関係はありません


1. ページは bootStrap を使用しているため、サーバーとの情報交換に ajax を使用します
bootStrap が正常かどうかを判断するために、送信されたコンテンツを直接返すことができます


2. file_get_content() の結果が正常かどうかを判断します
file_get_content (送信されたパス) をエコーする
クライアントとは関係なく、実装をシミュレートするだけです

3. 上記の 2 つのチェックが正しい場合のみ、データ形式が正しいかどうかも確認する必要があります



看下5楼的一个小问题,ajax返回的数据不能显示,非常感谢

请使用ajax:因为.php文件在Apache或者nginx进行解释的时候,会把里面的进行解释,然后翻译成一个html文件,输送到浏览器,用户在客户端点击button去触发file_get_contents是不可能的,除非你之前已经把file_get_contents的内容获取到了并且隐藏(display:none;),然后点击button再display:block;或者点击button的时候,发送ajax请求去获取file_get_contents的内容展示,当然刷新页面也可以。



在继续进行的过程中,碰到一个小问题,在5楼,帮看下,非常感谢

因为从后台返回过来的是json数据啊,你用了$.ajax,而且指定了数据类型为json,当然会被解析为json对象。没错,是json对象,而不是字符串。
所以你要么改变指定的数据类型dataType:text或者dataType:html
要么把数据变为json字符串

JSON.stringify(msg)
ログイン後にコピー

你获取到的数据是 php 代码,用文本方式才能显示
否则浏览器会把 

php代码要放入 中,否则作为html代码是不会解析的。

做个总结,在后台返回数据,是json格式,在模态框里面,用 textarea这个标签就可以显示了。

感谢楼上的各位

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート