2017-03-20 7 views
1

なぜ動作しません。一部のパラメータでボタンのonclickが発生したときにPHPファイルを呼び出そうとしています。 jsfile.jsの警告文まで実行されています。 Ajaxの一部が実行取得されていないことをした後..事前に感謝し、私を助けて...jQuery 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(); 
    } 
?> 
+0

あなたの 'success'コールバックに' alert'を置くと、それは表示されますか? – JohanP

+0

html文書の先頭にajaxスクリプトを含めるのを忘れていました。でも、それ以降も成功部分は実行されません。エラー部分だけが実行されています。 –

答えて

0

の変更をし、あなたのjQueryのバージョンが> = 1.5がこの方法で使用している場合

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

を試してみてください。

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

JSファイルをJSファイルの前にロードします。

+0

メソッドから型に変更してもエラーパートが実行されています..成功とエラーの代わりに完了と失敗を含めることは必須ですか? –

+0

エラーレスポンスはどうなりますか?開発者ツール – gudboisgn

+0

を使用して確認してください。あなたのURLパスが一致していないか、サーバーからの他の応答がエラー機能を実行しています。 – gudboisgn

2

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

     }); 

} 
関連する問題