2014-03-18 103 views
0

我尝试从JavaScript发送一个json对象数组到一个Php代码。无法从php文件获得响应。从Ajax发送Json数组到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文件具有下面的代码

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

不要ü看不出什么问题?

+0

什么问题?你在控制台中看到什么? – SLaks

+0

你在控制台中看到什么?文件路径/inviteProcessing.php是否正确? – rakeshjain

+0

“无法从PHP文件获取响应”是什么意思?空白页?然后去查找错误(请参阅http://stackoverflow.com/tags/php/info调试白色屏幕)。否则,调试输入。没有人可以帮你解决这个问题。 –

回答

0

此前呼应你的输出,尝试...

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

结束请尝试以下点。

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

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

    类型: 'POST',

    数据类型: “JSON”,//添加的dataType

    URL: '/inviteProcessing.php',

    数据:{myData的:的JSONObject},