2017-04-24 20 views
0

window.open()メソッドを使用して新しいウィンドウを開き、localStorage.setItem()メソッドを使用してJavaScript変数(String)を渡しています。 新しいウィンドウが開いたら、渡された変数をlocalStorage.getItem()メソッドを使用して検索します。 この変数は、PHPを使用したSQLクエリのために必要です。 「tablenameからのSELECT rowname WHERE id = TheJSVariable」javascript変数(文字列)の値をPHP変数に変換する

しかし、私は解決策を見つけることができませんでした。

提案がありますか? ありがとう

+0

どのようにPHPにクエリを送信していますか? Ajaxやフォームを使用していますか? – Manngo

+0

この値をajax経由で同じページまたは別のPHPページに送り、$ _POSTを使用してその値を取得する(ajaxのポストメソッドを使用する) –

+0

Manngo:Ajaxまたはフォームを使用せず、単純なクエリのみを使用してからmysqli_queryをフェッチする結果。 Alive to Die:window.openメソッドでajax投稿を使用してJavascript文字列値を送信するにはどうすればよいですか?すべてのリンク?ありがとう(私はこれが初めてです) – Foobarer

答えて

1

window.openで開くときは、共通のgetパラメータとしてパラメータを追加できます。すなわち:

window.open( "mysite.com/page.php?param=123");

そしてpage.phpであなたとのparam値を読むことができます:

$param = $_GET['param']; 

更新:

あなたはPOSTリクエストを作りたい場合は、フォームと(隠された)フォームを追加することができますフィールドに渡し、コードからそのフォームを送信したい値を保持します。以下のような何か:

<form id="TheForm" method="post" action="test.asp" target="TheWindow"> 
<input type="hidden" name="something" value="something" /> 
<input type="hidden" name="more" value="something" /> 
<input type="hidden" name="other" value="something" /> 
</form> 

<script type="text/javascript"> 
window.open('', 'TheWindow'); 
document.getElementById('TheForm').submit(); 
</script> 

Window.open and pass parameters by post method

+0

ありがとう、いくつかの質問: (1)paramが変数の場合、つまりvar x = "String";私はwindow.open( "mysite.com/page.php?param=" + x);とタイプする必要がありますか? (2)GETの代わりにPOSTが必要な場合は、window.openを使用して書き込む方法は何ですか? – Foobarer

+0

私の答えが更新されました。あなたのコメントに書いたようにwindow.openを生成してください。 – MilanG

+0

ありがとうございます! ところで、私の間違いは、window.locationをwindow.openの代わりに使用していたので、すべてのwindow.locationをwindow.openに切り替える必要があります。 window.locationにはパラメータを追加する機能がないため?それとも? :) – Foobarer

関連する問題