2011-04-27 84 views
1

我有2頁 javascript.js 和php.php一套Ajax響應到PHP變量

在我javascript.js頁我得到在我的PHP這樣

$j(document).ready(function() { 
    $j('#button').click(function() {    
     var data = { 
     _method : 'POST', 
     'd[0][1]': $j('#div').val(), 
     };            
     $j.post('/path/file', data, function(response) { 
      var response = respone 
     }); 
    }); 
}); 

Ajax響應頁面我想將變量$response設置爲ajax響應。我該怎麼做

+3

這不是AJAX的工作方式。 – 2011-04-27 00:19:03

+0

我想他想從客戶端發送數據到服務器並將其放入一個變量中。 – 2011-04-27 00:38:44

回答

-1

嘗試 回聲json_encode($變量);

此外,請嘗試使用jQuery的$ .ajax方法。

0

在你/path/file

<?php 
$response = $_POST["your_post_variable"]; 
echo "'$response' has been set."; 
?> 

清潔JS:

$j(document).ready(function() { 
    $j("#button").click(function() { 
     var data = { _method: "POST", "d[0][1]", $j("#div").val() };            

     $j.post("/path/file", data, function(response){ 
      alert(response); 
     }); 
    }); 
}); 
1

參見:http://api.jquery.com/jQuery.post/

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success 
    dataType: dataType 
}); 

你需要具體返回的數據類型。例如:

$.ajax({ 
    type: 'POST', 
    url: '/my_url', 
    data: data, 
    success: function(response_data){ 
    alert(response_data.variable1); 
    }, 
    dataType: "json" 
}); 
在PHP

然後:

$my_array = array(
    'variable1' => 1, 
    'variable1' => 2 
); 
header('Content-Type: application/json'); 
echo json_encode($my_array); 
exit(); 

HTH

0

PHP是服務器端,和Javascript是客戶端...在你無法從阿賈克斯設置一個PHP變量你已經加載的頁面。你可以做的是,用相關信息調用另一個PHP頁面,然後獲取生成的html,並將其顯示在當前頁面上。

這就是Ajax的工作原理。

0

我想我應該提到這個奇怪的機會,你是非常新的Ajax或PHP,這是你的意思。

如果您通過ajax調用的php腳本有一個變量$response並且您想要做的就是將該變量的內容作爲您的ajax響應發回 - 只需確保在這些行之前沒有其他輸出(在你的PHP腳本),並使用

echo $response; 
die;