2012-06-19 69 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后缀)文件。它像一个魅力。谢谢你的帮助。