这是Ajax电话:
$.ajax({
url: hostGlobal+"site/estrutura/ajax.php",
contentType: "text/JSON",
type: "POST",
dataType: "JSON",
data: {
action: "writeRequestStatus",
status: 2,
pedido_id: <?php echo $dadosPedido->id; ?>,
fornecedor_id: <?php echo $_SESSION["id"]; ?>,
ids_produtos: ids
},
success:function(result, textStatus, jqXHR) { console.log(result); },
error: function(jqXHR, textStatus, errorThrown) {
console.log("Error");
console.log(errorThrown);
}
});
ids 是一个数组:
ids = [];
$(".top10").click(function() {
$("input:checkbox").each(function () {
var _checked = (this.checked ? $(this).val() : "");
ids.push(_checked);
});
});
此处 hostGlobal +&#34; site / estrutura / ajax.php&#34; :
writeRequestStatusif ($_POST["action"] == "writeRequestStatus") {
for ($i = 0; $i < count($_POST["ids_produtos"]); $i++) {
_update("UPDATE tbl_pedidos_produtos SET status = ".$_POST["status"]." WHERE pedido_id = ".$_POST["pedido_id"]." AND id = ".$_POST["ids_produtos"][$i]);
_update("UPDATE tbl_pedidos SET status_id = ".$_POST["status"]." WHERE id = ".$_POST["pedido_id"]);
_update("UPDATE tbl_pedidos_fornecedors_produtos SET cotado = 1 WHERE pedido_id = ".$_POST["pedido_id"]." AND fornecedor_id = ".$_POST["fornecedor_id"]." AND produto_id = ".$_POST["ids_produtos"][$i]);
}
}
Firefox复制的POST数据:
行动= writeRequestStatus&安培;状态= 2及pedido_id = 1&安培; fornecedor_id = 110安培; ids_produtos%5B%5D = 1
没有抛出错误,200 OK,它只是不起作用。完全相同的调用适用于Chrome和Opera,但在Firefox上却没有。
编辑:
这里是响应标题:
HTTP/1.1 200 OK
Date: Thu, 17 Dec 2015 14:42:32 GMT
Server: Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.14
X-Powered-By: PHP/5.6.14
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 3
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
通过&#34;不起作用&#34;我的意思是,由于某些不明原因,对MySQL的更新调用不仅适用于Firefox。