我必须在 php 上部署一个应用程序,它是使用 wamp 服务器开发的(在 win 上)。现在我必须将它部署在 apache2 debian 服务器上。该应用程序可以在使用 wamp 的开发人员 PC 上运行,但无法在 debian 服务器上运行。
问题是所有网格(jquery网格)都使用ajax加载内容
grid.jqGrid({
datatype: "xml",
url:'../Controladores/cPedidos.php?action=lpd',
mtype: 'POST',
colNames:['FECHA','DEPOSITO','USUARIO'],
colModel:[
{name:'fecha_pedido',index:'fecha_pedido',width:120, sorttype: 'date'},
{name:'deposito',index:'deposito',width:500, editable:false},
{name:'usuario_id',index:'usuario_id',width:150, editable: false}
],
rowNum:10,
rowList:[10,20,40],
pager: '#paginacion',
gridview:true,
rownumbers:true,
ignoreCase:true,
sortname: 'fecha_pedido',
viewrecords: true,
sortorder: "asc",
caption:"Pedidos",
height: "100%",
subGrid : true,
subGridUrl: '../Controladores/cPedidos.php?action=lad',
subGridModel: [{ name : ['Codigo','Cantidad','Articulo','Estado','Categoria','Observaciones'],
width : [50,50,450,60,60,150] }],
editurl: '../Controladores/cPedidos.php?action=editar',
ondblClickRow: function(id, ri, ci) {
// edit the row and save it on press "enter" key
grid.jqGrid('editRow',id,true,null,null, 'clientArray');
},
onSelectRow: function(id) {
if (id && id !== lastSel) {
// cancel editing of the previous selected row if it was in editing state.
// jqGrid hold intern savedRow array inside of jqGrid object,
// so it is safe to call restoreRow method with any id parameter
// if jqGrid not in editing state
if (typeof lastSel !== "undefined") {
grid.jqGrid('restoreRow',lastSel);
}
lastSel = id;
}
}
}).jqGrid('navGrid','#pager',{add:false,edit:false},{},{},myDelOptions,{multipleSearch:true,overlay:false});
//grid.jqGrid('filterToolbar',{defaultSearch:'cn',stringResult:true});
$("#filtro").change(function(){
var valor = $("#filtro").val();
$("#tablapedidos").jqGrid().setGridParam({url:'../Controladores/cPedidos.php?action=lpd&filtro='+valor}).trigger('reloadGrid');
});
问题是没有加载任何内容,使用萤火虫我得到该网址的帖子被中止。
如果我直接在浏览器 (ff) 上输入 url,我会收到“连接已重置”错误,Chrome:“错误 324 (net::ERR_EMPTY_RESPONSE)”。如果我在开发人员电脑的本地主机上执行此操作,我将获得 XML 文件,url 页面使用 echo 创建 XML 文件,示例(不完整)
function getArticulosPendientes() {
if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
header("Content-type: application/xhtml+xml;charset=utf-8"); } else {
header("Content-type: text/xml;charset=utf-8");
}
$et = ">";
echo "<?xml version='1.0' encoding='utf-8'?$et\n";
echo "<rows>";
$lista = getListaArticulosPendientes($_POST);
$resultado = array();
for($i = 0; $i < count($lista); $i++) {
$fila = $lista[$i];
$dif = diferenciaCompradoPedido($fila['item_id']);
if($dif > 0) {
$fila['cantidad'] = $dif;
array_push($resultado, $fila);
}
else {
array_push($resultado, $fila);
}
}
for($a = 0; $a < count($resultado); $a++) {
$row = $resultado[$a];
$fecha = date("d/m/Y H:i", strtotime($row["fecha_pedido"]));
echo "<row id='". $row["item_id"]."'>";
echo "<cell>". $fecha."</cell>";
echo "<cell>". $row["cantidad"]."</cell>";
echo "<cell><![CDATA[". utf8_encode($row["descripcion"])."]]></cell>";
echo "<cell><![CDATA[". $row["categoria"]."]]></cell>";
echo "<cell><![CDATA[". $row["usuario_id"]."]]></cell>";
echo "<cell><![CDATA[". $row["estado"]."]]></cell>";
echo "<cell><![CDATA[". $row["observaciones"]."]]></cell>";
echo "</row>";
}
echo "</rows>";
}
有任何想法吗