it-swarm.com.ru

jQuery Ajax Post с данными

почему это не работает. Пытаюсь вызвать php файл, когда происходит нажатие кнопки с некоторыми параметрами. Выполняется до появления предупреждения в jsfile.js. После этого часть ajax не выполняется .. Помогите мне .. Заранее спасибо ..

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

В вашем файле jsfile.js исправьте следующие моменты, которые я упомянул в качестве комментариев к следующему коду.

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

Поменяй и попробуй

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

Если ваша версия jquery> = 1.5, используйте ее следующим образом.

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

Загрузите Jquery перед вашим файлом JS.

2
gudboisgn