从PHP中的ajax数组中获取数据

时间:2016-07-19 19:14:16

标签: javascript php jquery json ajax

我试图在PHP端获取ajax数组数据。但是我在PHP中获取值时遇到了麻烦。这是我的JavaScript代码:

if 35 in l:
    # ......

这个js代码的输出是:

enter image description here

我正在使用此代码在PHP中获取值:

console.log(obj);
$.ajax({
    method: 'POST',
    url: '/inc/sort_answers.php',
    data: obj,
    success: function(data) {
        if ( data.indexOf('success') != -1) {
            window.onbeforeunload = null;
            location.replace('/sort-results/');
        } else {
            alert(data);
        }
    },

但它给了我一个错误。

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是将obj转换为JSON,然后在PHP端对其进行解码。

将对象从Javascript发送到PHP

使用Javascript:

var enc = JSON.stringify(obj);
$.ajax({
  method: 'POST',
  url: '/inc/sort_answers.php',
  data: {obj: enc},
  success: function(data) {
    // Do stuff with data.
});

PHP:

$data = json_decode($_POST['obj'],true);
// Do stuff with $data

将对象从PHP发送到Javascript:

PHP:

$data = array("bla"=>"first entry","arr"=>array("test","more tests"));
echo json_encode($data);

使用Javascript:

var obj;
$.ajax({
  method: 'GET',
  url: '/inc/sort_answers.php',
  success: function(data) {
    obj = JSON.parse(data);
});

以下是一些关于php和javascript中的JSON的链接

JSON decoding for PHP

JSON encoding for PHP

JSON decoding for JS

JSON encoding for JS