因此,我是2012年用skratch制成的大型旧后端上的错误。
我不是AJAX专业人士,但设法在控制台中看到此错误:
VM687:1 Uncaught SyntaxError: Unexpected token '<'
at XMLHttpRequest.xhr_object.onreadystatechange (core.js:1050)
https://i.stack.imgur.com/HBRsL.jpg
这就是它涉及的core.js部分:
function gestionFactureDetail(prd, action) {
var a = document.getElementById(prd);
var data = 'a=a';
data = data + '&action=' + action;
for (var i = 0; i < a.length; i++) {
if (a.elements[i].tagName == 'INPUT' || a.elements[i].tagName == 'SELECT') {
if (a.elements[i].type == 'checkbox') {
if (a.elements[i].checked == true) {
data = data + "&" + a.elements[i].name + '=1';
} else {
data = data + "&" + a.elements[i].name + '=';
}
} else {
data = data + "&" + a.elements[i].name + '=' + a.elements[i].value;
}
}
if (a.elements[i].tagName == 'TEXTAREA') {
var b = a.elements[i].value;
data = data + "&" + a.elements[i].name + '=' + escape(b);
}
}
var xhr_object = null;
if (window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if (window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("GET", 'facture_gestion_req.php?' + data, true);
xhr_object.onreadystatechange = function () {
if (xhr_object.readyState == 4) {
eval(xhr_object.responseText);
}
}
xhr_object.send(null);
}
javascript控制台引用的“ 1050”行恰好在最后一行之前:
eval(xhr_object.responseText);
我还可以按照您的意思为您提供PHP代码:
facturelibre_gestion_req.php
<?php
include("inc/connection.php");
$action = $_GET["action"];
$contenu_factnum = $db->quote($_GET["contenu_factnum"] ? $_GET["contenu_factnum"] : 0);
$contenu_num = $db->quote($_GET["contenu_num"]);
$contenu_produit = $db->quote($_GET["contenu_produit"]);
$contenu_tva = $db->quote($_GET["contenu_tva"]);
$contenu_pu = $db->quote($_GET["contenu_pu"]);
$contenu_remise = $db->quote(trim($_GET["contenu_remise"], ' %'));
$contenu_qtite = $db->quote($_GET["contenu_qtite"]);
$contenu_montant = $db->quote($_GET["contenu_montant"]);
$eta_num = $db->quote($_GET["eta_num"]);
$eta_num_non_quote = $_GET["eta_num"];
if ($action == "creer")
{
$add = $db->query(
"INSERT INTO facture_contenu (
contenu_factnum,
contenu_texte,
contenu_tva,
contenu_pu,
contenu_remise,
contenu_qtite,
contenu_montant
) VALUES (
$contenu_factnum,
$contenu_produit,
$contenu_tva,
$contenu_pu,
$contenu_remise,
$contenu_qtite,
$contenu_montant
)"
);
}
if ($action == "maj") {
$del =
$db->query("
UPDATE
facture_contenu
SET
contenu_texte = $contenu_produit,
contenu_tva = $contenu_tva,
contenu_pu = $contenu_pu,
contenu_remise = $contenu_remise,
contenu_qtite = $contenu_qtite,
contenu_montant = $contenu_montant
WHERE
contenu_num = $contenu_num
");
}
if ($action == "sup") {
$del =
$db->query("
DELETE FROM
facture_contenu
WHERE
contenu_num = $contenu_num
");
}
如果您有任何想法或线索,请让我知道,因为我完全迷路了...:(