2012-06-19 67 views
0

我想使用AJAX將PHP數組發送到PHP。這看起來很簡單的代碼,但我得到了「無isset」消息。ISSET錯誤使用AJAX將PHP數組發送到PHP

<?php 

if (isset($_REQUEST['activitiesArray'])) { 
echo 'YES isset'; 
}else{ 
echo 'No isset'; 
} 
?> 

<!DOCTYPE html> 
<html> 
<head> 

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript"> 


var activities = ["thing1", "thing2", "thing3"]; 

$.ajax({   
    type: "POST", 
    url: "JavatoDBase.php", 
    data: { activitiesArray : activities }, 
    success: function() { 
    $("#lengthQuestion").fadeOut('slow');   
    } 
}); 

Safari瀏覽器顯示以下,這表明了POST運行

enter image description here

+1

將整個請求轉儲回客戶端時會發生什麼? – charlietfl

+0

[如何調試AJAX請求?如何知道哪個PHP函數被調用?](http://stackoverflow.com/questions/4153019/how-to-debug-ajax-requests-how-to-know-which-php-function-is-invoked) – hakre

+0

查看哪些數據實際提交的請求以及如何進行。 – hakre

回答

1

如果你做一個Ajax請求,你應該返回的東西,你可以在js中使用它來確定它是如何去的。你也只想加載響應,而不是整個頁面的HTML和所有。

試試這個:

<?php 

if (isset($_REQUEST['activitiesArray'])) { 
    echo json_encode(
    array('status' => true) 
); 
    exit(0); 
}else{ 
echo 'No isset'; 
} 
?> 

<!DOCTYPE html> 
<html> 
<head> 

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript"> 
    var activities = ["thing1", "thing2", "thing3"]; 

    $.ajax({   
    type: "POST", 
    url: "test.php", 
    data: { activitiesArray : activities }, 
    dataType: 'json', 
    success: function(data) { 
     if(data.status === true) { 
     alert('rad'); 
     } 
     else { 
     alert('bad'); 
     } 
    } 
    }); 
</script> 
0

我找到了答案。所有上面的代碼都是PHP文件(我開始使用PHP和HTML)。然後我將PHP分成它自己的(PHP後綴)文件和HTML到它自己的(HTML後綴)文件。它像一個魅力。謝謝你的幫助。