warum es nicht funktioniert Ich versuche, eine PHP-Datei aufzurufen, wenn bei einigen Parametern ein Klick auf eine Schaltfläche erfolgt. Es wird ausgeführt, bis die Warnung in jsfile.js ausgeführt wird. Danach wird der Ajax-Teil nicht ausgeführt. Helfen Sie mir raus .. Danke im Voraus ..
main.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="jsfile.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<button onclick="cart(0)"> hi </button>
<p id="disp"></p>
</body>
</html>
jsfile.js
function cart(id1)
{
var id=id1;
alert("enterd "+id);
document.getElementById("disp").innerHTML ="hi";
$.ajax({
url:"/add.php ",
type:"POST",
data:{
item_id: id,
},
success:function(response) {
//document.getElementById("total_items").value=response;
document.getElementById("disp").innerHTML =response;
},
error:function(){
alert("error");
}
});
}
add.php
<?php
if(isset($_POST['item_id']) && !empty($_POST['item_id'])){
//if(count($_POST)>0)
echo "success";
exit();
}
?>
Korrigieren Sie in Ihrer jsfile.js-Datei die folgenden Punkte, die ich als Kommentare zum folgenden Code erwähnt habe.
function cart(id1)
{
var id=id1;
alert("enterd "+id);
document.getElementById("disp").innerHTML ="hi";
$.ajax({
url:"/add.php ",
method:"POST", //First change type to method here
data:{
item_id: "id", // Second add quotes on the value.
},
success:function(response) {
document.getElementById("disp").innerHTML =response;
},
error:function(){
alert("error");
}
});
}
Ändern Sie es und versuchen Sie es
type:"POST" -> method: "POST"
Wenn Ihre Jquery-Version> = 1.5 ist, verwenden Sie es auf diese Weise.
$.ajax({
url: "add.php",
method: "POST",
data: { item_id: id},
}).done(function(response) {
......
}).fail(function( jqXHR, textStatus ) {
......
});
Laden Sie Jquery vor Ihrer JS-Datei.