web-dev-qa-db-fra.com

jQuery Ajax Post avec données

pourquoi ça ne marche pas J'essaie d'appeler un fichier php lorsqu'un clic sur un bouton survient avec certains paramètres. Il est en cours d'exécution jusqu'à la déclaration d'alerte dans jsfile.js. Après que la partie ajax ne soit pas exécutée .. Aidez-moi .. Merci d'avance ..

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();
    }
?>
2
deepak asai

Dans votre fichier jsfile.js, corrigez les points suivants que j'ai mentionnés en tant que commentaires sur le code suivant.

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");
       }

      });

}
4
G Jason Sharma

Changez-le et essayez

 type:"POST" ->  method: "POST"

Si votre version de jquery est> = 1.5, utilisez-la de cette façon.

$.ajax({
  url: "add.php",
  method: "POST",
  data: { item_id: id},
}).done(function(response) {
  ......
}).fail(function( jqXHR, textStatus ) {
  ......
});

Charger Jquery avant votre fichier JS.

2
gudboisgn