2013-02-28 34 views
10

PHPメソッドからの戻り値を警告したいが、何も起こらない。ここにajaxとphpメソッドがあります。誰でも私が間違っていることを見ることができますか?AjaxはPHPから戻り値を取得しますか?

-------------------------------------- ... Ajaxのスクリプト

$.ajax({ 
    type: 'get', 
    url: '/donation/junk/4', 
    data: datastring, 
    success: function(data) { 
     alert(data'); 
    } 
}); 

-------------------------------------- ... PHP方法

function junk($id) 
{ 
    return "works11"; 
} 
+1

JSに構文エラーがあります。 – Blender

+0

データを返すには、PHPファイル内のメソッドを呼び出す必要があります。例...エコージャンク(4); ... phpファイルのどこか – zgr024

答えて

22

PHPでは、単純に値を返してajaxレスポンスに表示させることはできません。最終値はprintまたはechoにする必要があります。 (他の方法もありますが、それはトピックから外れています)。

また、alert()コールには後ろにアポストロフィがあるため、エラーが発生し、削除する必要があります。

は修正:

$.ajax({ 
    type: 'get', 
    url: '/donation/junk/4', 
    data: datastring, 
    success: function(data) { 
     alert(data); 
    } 
}); 

PHP:

function junk($id) 
{ 
    print "works11"; 
} 
+0

あなたは何を話しているのかわかりません...あなたが望むすべてのajaxコールからのリターンを警告することができます。 – zgr024

+0

いいえいいえ。 PHPからのajax呼び出しには、印刷やエコーなしで戻ることはできません。 – Kristian

+0

私はあなたが言っていることを見る... PHPは何かをエコーする必要がある...または終了(ステータス)など... – zgr024

2

をあなたは '(アラートデータ)でそこに' 余分を持っているライン

これは

$.ajax({ 
    type: 'get', 
    url: '/donation/junk/4', 
    data: datastring, 
    success: function(data) { 
     alert(data); 
    } 
}); 
を動作するはずです

あなたのPHPコードでは、また、この方法とは、値

function junk($id) { 
    return 'works11'; 
} 
exit(junk(4)); 

あなたが現在やっているすべては

-1

Ajaxは、テキストを返すメソッドを作成して、それがメソッドを経由して、PHPと通信しないにエコー。それは、PHPページをリクエストし、ajaxリクエストの返信は、私たちがベイビーがブラウザで開いた場合に示したものであれば何でもあります。

関連する問題