2012-02-09 7 views
0

私はこの質問がおそらく100万回、しかし1.000.001時間のために頼まれたことを知っています:)どのようにajaxを使用してJavaScriptからPHP関数を呼び出すには?

JavaScriptからphp関数を呼び出す必要があります。そして、私はajaxがそれをやるかどうか議論を少ししています。

私は、その機能を呼び出して実行するだけのajaxコールだけを送信したくありません。ここ

は私がこれまで持っているものです。

$.post('functions/test.php', function() { 
    console.log("Hooray, it worked!"); 
}); 

はこのつもりはtest.phpを実行しているのですか?

ありがとう

+5

を使うのか? –

+1

'これはtest.phpを実行するつもりです'はい、PHPスクリプトへのパスが正しい場合。 – Cheery

答えて

2

それは間違いなくtest.phpをを実行し、それをあなたをチェックするかもしれませんsthをしなさい。 on succes

$.ajax({ 
    type: "POST", 
    url: "ajax/test.php", 
    success: function(data) { 
     alert(data); 
    } 
}); 

しかし、データが送信されない場合の送信の目的は何ですか?

+0

一般に、データが送信されない場合、呼び出されるスクリプトは、特定のドキュメントなどのビューをログに記録するような直感的な処理を行います。おそらく、これはjQueryとPHP間の通信に慣れていくための最初のステップだと思います。 – Jasper

1

ほとんどの場合、はいです。 jQueryを使わないので保証できません。

これは、しかし、確かに何の問題(あなたがそれらを気にしてはならないので、古いIEのバージョンを除く)、それを実行されません:

var a = new XMLHttpRequest(); 
a.open("GET","functions/test.php"); 
a.onreadystatechange = function() { 
    if(a.readyState == 4) { 
     if(a.status == 200) { 
      console.log("Hooray, it worked!"); 
      // optionally, do stuff with a.responseText here 
      // a.responseText is the content the PHP file outputs, if any 
     } 
     else alert("HTTP error "+a.status+" "+a.statusText); 
    } 
} 
a.send(); 
1

はいtest.phpスクリプトが実行され、(あなたがしたい場合)は、このようなtest.phpスクリプトからの出力をつかむことができます:あなたができるjQueryので

$.post('functions/test.php', function(data) { 
    //the `data` variable now stores the server response (whatever you output in `test.php`) 
    console.log("Hooray, it worked!"); 
}); 
1

$.post('functions/test.php', function(data) { 
alert(data); 
}); 

test.phpに返されたものはすべて変数 "data"に入れられます

これで、必要なPHP関数をtest.phpで実行し、出力を送信できますバック。

0

私はいつもそれを試してみて、見つけていないのはなぜ

jQuery.ajax("url.php"); 
関連する問題