2009-05-21 5 views
0

は、誰もが、私はPHPを呼び出すために、AJAXを使用しながら、代わりに文字列値のAJAXするjavascriptの変数を返すことができる方法を知っています。詳細については、以下の実施例を参照してください。javascript変数をAjaxに返す方法は?

アヤックス:

//Ajax Param 
    var paramList = "Action=make_process"; 

    ajaxRequest = $.ajax({ 
      url: "admin.php", 
      type: 'POST', 
      data: paramList, 
      error: function(){ 
        //error message here 
      }, 
      success: function(data){ 
       //read return javascript variable here; 
      } 
     }); 

PHP:

public function validationChk() 
    { 
     $error_msg['error_msg'][] = array("msg"=>"hello"); 
      $error_msg['error_msg'][] = array("msg"=>"hi"); 

     echo "var ErrorMapping = " . json_encode($error_msg). ";\n\n";   
     exit; 
    } 

答えて

1

あなたはAJAX応答から返すことができるか疑問?

は、その後、あなたが何をしようとしてthis jQuery FAQ answer.

+0

文字列ではなく変数としてphpからajaxに 'var ErrorMapping'を渡すことができますか? –

0

をチェックアウトすると、アイデアのすべてが素晴らしいではありません。おそらく、あなたの成功コールバック内のオブジェクトにJSON応答をデコードし、そのを返すことが必要です。

JSON文字列をデコードするには、eval経由でパイピングし、悪意のあるデータがないことを期待してください。これを行う安全な方法は、JavascriptでJSONを解析することです。 があれば、少なくともすでに書いたものを使ってみてください。 Google Codeで "json-sans-eval"を検索します。

より良いオプションは、jQueryの組み込み機能を使用することです:

jQuery.getJSON(url, [data], [callback]) 

それはあなたのためのすべてのハードなものを行います。 jQueryのドキュメントを読む時間を取ってください。そこにはたくさんの便利なものがあります。

+0

jQueryのgetJSON()はJSONをデコードするためにeval()を使用しています。 – Javier

+0

私はそれを知らなかった。その事実に照らして、あなたのデータが絶対に汚染されていないことを確かめてください。 –

関連する問題