- 外部のJavaScriptファイルで作ったデータをPHPに送信
- PHPで送られてきたデータをもとに,MySQLからデータを取得
- 取得したデータを外部のJavaScriptファイルに送信
以上を実現したいと考えています.
現在は,jQueryのajax通信を用いて上記の2のところまで出来ています.
JavaScript
1$.ajax({ 2 type: "POST", 3 url: "xxx.php", 4 data: {data: x} 5 }).done(function( msg ) { 6 console.log(msg); 7 });
php
1$data = $_POST['data']; 2 3$stmt = $pdo->prepare("SELECT `col` FROM `test` WHERE `MapId` = $data"); 4 5$stmt->execute(); 6 7$search_result = $stmt->fetchAll(); 8print_r($search_result[0]['col']);
試したこと
ajax通信のdoneで,phpの結果をJavaScriptファイル内の変数に代入することを試しましたが,
ダメでした.
自分が試したのは以下のものです.
javascript
1var test = ""; 2$.ajax({ 3 type: "POST", 4 url: "xxx.php", 5 data: {data: x} 6 }).done(function( msg ) { 7 test = msg; 8 console.log(msg); 9 console.log(test); 10 });
console.log(msg); の結果は,
{"edges": [{"source": 1, "target": 0}], "nodes": [{"x": 557.5, "y": 200, "id": 0, "title": "new concept0"}, {"x": 557.5, "y": 400, "id": 1, "title": "new concept1"}]}
とJSONのデータを取得することができました.
console.log(test); では何も出力がされないという結果でした.
また,この方法についての解決策は,以下のリンクにありますが,あまり推奨はされていないようでした.
https://teratail.com/questions/14084
他には,外部のJavaScriptファイルの読み出し時に,id属性を記述し,scriptタグに変数を埋め込む
方法を試し,実際に値を取得することはできましたが,今回実現したいものは動的?な値の受け渡しで
これはあまり好ましくありません.
PHP,JavaScriptともに初心者であり,サーバーサイド,クライアントサイドもぼんやりと認識しているような状態ですので,厳しいご指摘でも構いません.どなたかご回答お願いします.
回答1件
あなたの回答
tips
プレビュー