我有一个非常奇怪的问题,我真的可以使用一些洞察力。我有一个在我的测试环境中运行完美的网站。这是在我的服务器上,该程序用于库存,它允许用户选择货架位置,然后按货架区域缩小。同样,这在测试环境中完美运行。我也有一个实时环境,这个完全相同的网站将无法正常工作,我不断获取data.id是运行Firebug时未定义的。真奇怪的是,当我将console.log(数据)添加到我的ajax成功函数时,它会向我显示所有数据。我也为测试环境做了这个,我看到的唯一区别是它将所有id组合在一起,然后组合位置。在实时环境中,它显示id = 1,location = 1,id = 1,2 location = 1,2等,在测试环境中显示id = 1,2,3 etc location = 1,2,3等。
为什么这样做????
我不确定您可能需要查看哪些代码来帮助解决此问题,但我可以发布您需要查看的内容。
编辑: 这只发生在一个ajax调用上,所有其他调用正常。域名是相同的,除了一个有testbcos而另一个只是bcos。以下是ajax调用的代码:
// Inventory verification section
$("#area").change (function(){
$("#acctRecords tbody tr").remove();
$('#label').show();
$('#label2').show();
$('#location').show();
$('#section').show();
$.ajax({
type: "POST",
async: true,
url: "area.php",
dataType:"json",
data: ({area: $('#area').val()}),
success: function(data) {
console.log(data);
$('select#location').empty();
$('select#location').append('<option value="0">Select Option</option>');
$('select#section').empty();
$('select#section').append('<option value="0">Select Option</option>');
//Populate options of the second dropdown
for(var x=0;x<data.location.length;x++)
{
$('select#location').append('<option value="'+data.id[x]+'">'+data.location[x]+'</option>');
$('select#section').append('<option value="'+data.id[x]+'">'+data.location[x]+'</option>');
} //end of each function
这与实时和测试环境完全相同。
编辑#2:我不知道这是否有用,但这里是area.php文件。
$conn = db_connect();
session_start();
$area = $_POST['area'];
$x = 0;
$return_arr = array();
$result = $conn->query ("SELECT location_id, location FROM location where location like '$area%' ORDER BY location");
$num_rows = $result->num_rows;
if($num_rows > 0)
{
while ($row = $result->fetch_assoc())
{
$idArray[$x] = $row['location_id'];
$locationArray[$x] = $row['location'];
$x++;
$location = array('id' => $idArray,
'location' => $locationArray
);
array_push($return_arr,$location);
}
}
$conn->close();
echo json_encode($return_arr);
答案 0 :(得分:0)
听起来像area.php以不同的方式返回数据。确定实时服务器上的PHP文件是最新的吗?
答案 1 :(得分:0)
事实证明,在area.php文件中,我不需要使用array_push函数:
array_push($return_arr,$location);
当我更改它以返回$ location时,:
echo json_encode($location);
一切正常。感谢所有人的帮助。