2016-09-19 261 views
2

我有3個文件main.php,action.js和ajax.php,我成功地改變了從main.php到ajax.php的一些div的點擊內容與ajax在我的JavaScript文件中調用。它看起來像這樣:將返回值從php傳遞到js

var value = $(this).attr("id"); 

$.ajax({ 
    type: 'get', 
    url: "ajax.php", 
    data: { 
     auto_value: value 
    }, 
    success: function(response) { 
     $('.gridnr1, .textnr1').fadeOut(400, function(){ 
      $('.textnr2, .gridnr2').fadeIn(400); 
     }); 

     var newtextcaption = $(response).filter('#newtextcaption').html(); 
     var box = $(response).filter('#box').html(); 

     $('#textnr2').html(newtextcaption); 
     $('#gridnr2').html(box); 

     for (var i=0; i<VALUE_FROM_AJAXphp; i++) { 
      DO SOMETHING WITH i; 
     } 
    }); 

現在我需要從一個函數在ajax.php在我action.js一個返回值,因爲我要重複,直到這個值(見上面的代碼)。 如何將這個值從ajax.php傳遞到action.js。 我很困惑我需要什麼值得ajax?,json?或者是其他東西?

謝謝。

+0

你的括號不正確匹配。 – Barmar

回答

1

在成功函數中,響應,就是你從PHP獲得的。所以發送JSON最容易,因爲那樣你的響應只是一個對象。

比方說ajax.php返回該JSON

{ 
    "newtextcaption": "whatever the text is", 
    "boxhtml": "whatever your box html is", 
    "AjaxValue": 4389489473289 
} 

那麼你成功的功能應該是

success: function(response) { 
       $('.gridnr1, .textnr1').fadeOut(400, function(){ 
        $('.textnr2, .gridnr2').fadeIn(400); 
       }); 

       var newtextcaption = response.newtextcaption; 
       var box = response.boxhtml; 

       $('#textnr2').html(newtextcaption); 
       $('#gridnr2').html(box); 

       for (var i=0; i<response.AjaxValue; i++) { 
        DO SOMETHING WITH i; 
       }