2012-02-08 5 views
0

JavaScript関数からPHPスクリプトを実行するにはどうすればよいですか?あなたがリモートPHPページ/スクリプトを呼び出すためのJavaScriptからのHTTPリクエストを作成する必要がSjavascript関数からPHPを実行するにはどうしたらいいですか?

+1

あなたのコードは、あなたには、いくつかの引用符が欠落しているよう – Cez

+0

他の方法で回避が見えるのではなく、PHPからJavascriptを設定するように見えます。文字列をエコーし​​てJavascriptメソッドに渡しますが、生成されたJavascriptコードを見ると、文字列は引用符で囲まれておらず、構文上正しくない可能性があります。例えば。 'somemethod(これはメッセージです)'を生成する必要がありますが、実際には 'somemethod(これはメッセージです)'を生成しています。 – DaveRandom

答えて

1

:このエディタでコードを使用する方法がわからない - 悪いの書式設定のため申し訳ありません

<?php if (isset($results['errorMessage'])) { ?> 
    <script type="text/javascript>somemethod(<?php echo $results['errorMessage'] ?>) </script> 
<?php } ?> 

あなたがしようとしている方法はまったくできません。

1

あなたはできません! Javascriptはクライアント側(つまりクライアントのブラウザ)で実行され、PHPはサーバ上で実行されます。

あなたができることは、PHPスクリプトにAjaxリクエストを行い、結果に応じて何かをすることです。

function httpGet(theUrl) 
{ 
     var xmlHttp = null; 

     xmlHttp = new XMLHttpRequest(); 
     xmlHttp.open("GET", theUrl, false); 
     xmlHttp.send(null); 
     alert(xmlHttp.responseText); 
} 

とhtmlコード:これはあなたの例だけで微調整する必要があるテンプレートの一部である場合

<html> 
<head> 
<script type="text/javascript" src="log.js"></script> 
</head> 
<body> 
     <a href="" onclick="httpGet('message.php?url=http://bizzare.com/?id=1')">Get Message</a> 
</body> 
</html> 
0

は、私は完全にJavaScriptとその作品でリクエストを送信するには、このいずれかを使用しますページ上に正しいJavaScriptを生成するには:

この例を修正するには、試してみてください

<?php if (isset($results['errorMessage'])) { ?> 
    <script type="text/javascript> 
     somemethod(<?php echo "'" . $results['errorMessage'] . "'" ?>); 
    </script> 
<?php } ?> 

しかし、他の答えが示唆するように、それはajaxルートを下る方が良いかもしれません。 JavaScriptを生成することは、しばしば設計上の選択肢の悪さです。

0

0

メッセージ付きの単純なJS関数を呼び出すのと同じようにしようとしていますか?

<?php 
    if(isset($results['errorMessage'])){ 
     echo '<script type="text/javascript>somemethod("'.$results['errorMessage'].'")</script>'; 
    } 
?>