2010-09-02 49 views
2

基本上它只是:jQuery Ajax:我能成功存儲多個「變量」嗎?

success: function(msg){ 
alert(msg); 
} 

什麼出來alert's。但對我來說,如果我在ajax調用的文件中有變量:

$filename = time() . "10"; 

要成功使用嗎?

,所以我可以做

success: function(msg){ 
alert($filename); 
} 

(現在它不正確的),但我怎麼能做到這一點?

$.ajax({ 
      type: "POST", 
      url:"functions.php?action=crop", 
      data: {x: $('#x').val(),y: $('#y').val(),w: $('#w').val(),h: $('#h').val(),fname:$('#fname').val(),fixed:fixed,size:size}, 
      success: function(msg){ 
       if(!fixed) 
        $("#crop_preview").css({overflow:"auto"}) 
       $("#crop_preview").html($(document.createElement("img")).attr("src", msg.filename)).show(); 
      $("#crop_preview").after("Here is your Cropped Image :)").show(); 
      $("#image").slideUp(); 
      } 
     }); 

和PHP:

$time = time().".jpg"; 
    echo '('; 
echo json_encode(array(
    'filename'=>$time 
)); 
echo ')'; 

回答

5

使用PHP json_encode,滿對象返回給客戶端:

echo '('; 
echo json_encode(array(
    'filename'=>'anything', 
    'var2'=>'something', 
)); 
echo ')'; 

和使用jQuery的getJSON而不是正常get,或作出post/json請求:

$.ajax({ 
    type: "POST", 
    dataType: 'json', 
    url:"functions.php?action=crop", 
    success: function(response){ 
     alert(response.filename); 
     alert(response.var2); 
    } 
..... 
+0

即時通訊使用ajax所以我該如何處理postJSON?請檢查更新的問題 – Karem 2010-09-02 18:47:22

+0

正如你可以看到在上面的腳本我試圖做msg.filename但沒有結果 – Karem 2010-09-02 18:50:21

+0

我編輯我的答案,更新和檢查。 – aularon 2010-09-02 18:56:08