将Json数组从Ajax发送到PHP

时间:2014-03-18 18:53:45

标签: javascript php ajax

我尝试将json对象的数组从javascript发送到Php代码。无法从php文件中获得响应。

function getData() {
    var jsonObject = [];
    var genderMenu = document.getElementById("gender");
    var levelMenu = document.getElementById("level");

    jsonObject[0]  = { 
        psid: document.getElementById("psid").value,
        fName: document.getElementById("fname").value,
        lName: document.getElementById("lname").value,
        gender: genderMenu.options[genderMenu.selectedIndex].value,         
    };

    for(var i = 1; i <= varCount; i++) {
        if(document.getElementById("fName"+(i))) {
            jsonObject[i] = {fName : document.getElementById("fName"+(i)).value,
            lName: document.getElementById("lName"+(i)).value, 

        };
        }
    }

    var jsonObjectString = JSON.stringify(jsonObject);
    var result = "";
    $.ajax({
        type: 'POST',
        url: '/inviteProcessing.php',
        data: {myData: jsonObject},
        success: function(response) {
                  if(response.success)
                    alert(response.message);
                  else
                    alert(response.message);
              }
    });

  alert(jsonObject);
}

Php File有以下代码

<?php   
$input = $_POST['myData'];
$input_string = json_decode($input, true);
echo json_encode( array('success' => true, 'message' => $input_string) );
?>

你看到有什么问题吗?

3 个答案:

答案 0 :(得分:0)

在回显输出之前,请尝试...

header('Content-type: application/json');
echo $encodedjsonstring;
exit;

答案 1 :(得分:0)

尝试将exitdie()放在php文件的末尾

答案 2 :(得分:0)

请尝试以下几点。

  1. 首先检查php文件的路径是否正确。

  2. 然后在ajax调用中添加以下行。

    键入:&#39; POST&#39;,

    dataType:&#34; json&#34;,//添加dataType

    url:&#39; /inviteProcessing.php',

    data:{myData:jsonObject},

相关问题