2011-12-04 13 views
-2

ここに2つの問題があります.1番目のコードは動作しません。誰も私に何が欠けているか教えていただけますか?PHPへのAjax関数

function myFunc(e){ 
    $.ajax({ 
     type: "post", 
     url: "path/myPhp.php", 
     data: "val="+e, 
     dataType: "php", 
     success: function(result){ 
      return result; //i want this result to be returned to parent function myFunc(e) 
     }, 
     error: function(e){ 
      alert('Error: ' + e); 

     } 
    }); 

} 
+0

「これは私のコードが動作しない」サイトではありません。 –

答えて

2

jqueryのAJAXのためのPHPという名前のデータ型がありません...第二は、私は成功関数にPHPから値を返すようにしたいし、その値も親関数に返されます。 法的なデータ型は以下の通りです:

XML
HTML
スクリプト
JSON
JSONP
テキスト

あなたは "JSON" のデータ型を意味しますか?

0

1) 'dataType'に無効な値があります。有効な値は、xml、json、script、またはhtmlです。

2)私が見ているように、ajax呼び出しを同期的に動作させたいとします。

これを行うには 'async:false'を使用します。試してみてください:

function myFunc(e){  
    var value = ""; 
    $.ajax({ 
     type: "post", 
     url: "path/myPhp.php", 
     data: "val="+e, 
     dataType: "json", 
     success: function(result){ 
      value = result; 
     }, 
     error: function(e){ 
      alert('Error: ' + e); 
     }, 
     async: false // set synchronous 
    }); 
    alert(value); // use value 
} 

それとも

$.ajaxSetup({async:false}); 

$アヤックス()の呼び出しを発行する前に。 Ajaxは

を終えた後

同期AJAXを使用する方法についての議論は、あなたがあなたの応答は、関数の戻り値として返すようにしたい場合は、その後、あなたはそれがAJAX同期以降AJAX unsynchronizeようにする必要があり、ここでHow can I get jQuery to perform a synchronous, rather than asynchronous, Ajax request?

0

見つけることができますあなたの返信応答が配列でない場合、私はこれが動作すると思います。

function myFunc(e){ 
    var returnValue = ''; 
    $.ajaxSetup({async:false}); // synchronize 
     $.ajax({ 
      type: "post", 
      url: "path/myPhp.php", 
      data: "val="+e, 
      success: function(result){ 
       returnValue = result; 
      }, 
      error: function(e){ 
       alert('Error: ' + e); 

      } 
     }); 
    $.ajaxSetup({async:true});// Unsynchronize 
    return returnValue; 

    } 
関連する問題