2012-05-14 65 views
0

我目前正試圖使用​​AJAX從我的MySQL數據庫中刪除信息,但由於某種原因,請求甚至沒有發送到我指定的ajax url。無法通過JQuery成功發送特定的AJAX請求

這裏被髮送代碼:

<script type="text/javascript"> // Notes Delete 
    $(document).ready(function(){ 
     $("form#RemoveNote2").submit(function() { 
      var ID = $('#ID').attr('value'); 
       $.ajax({ 
        type: "POST", 
        url: "ajaxdeleteinvoicenote.php", 
        data: "id="+ ID, 
        datatype: "json", 
        success: function(result){ 
         alert('test'); 
        } 
       }); 
      return false; 
     }); 
    }); 
</script> 

這是它被阻止發送形式:

<form id="RemoveNote2" style="margin: 0px; padding:0px;" method="post"> 
    <span style="width:80%; display:inline-block;">Test</span> 
    <span style="text-align: center; width: 10%; display:inline-block;"> 
    <input id="ID" type="hidden" value="39"> 
    <button class="close" type="submit">×</button> 
    </span> 
</form> 

利用一種稱爲Fiddler2工具,我已經注意到,它甚至沒有完成任務發送到ajaxdeleteinvoicenote.php。任何想法爲什麼?

+0

你有螢火蟲或類似的任何JavaScript錯誤檢查? – ilanco

+1

對於'input'元素,最好使用'.val()'。 – VisioN

+0

螢火蟲說什麼? – zerkms

回答

0

請注意不是datatype: "json",

dataType: "json",

還利用其... 代替..

var ID = $('#ID').attr('value'); 

其良好的使用這種方式...

var ID = $('#ID').val(); 

我認爲這會解決..

+0

希望你得到錯誤...或者請更新你的問題,並在螢火蟲顯示的錯誤... –

0

您發送的datatype選項設置爲JSON,而實際數據爲表單urlencoded:JSON中的data: "id="+ ID,將爲{"id":"123"}。您最好放棄數據類型(jQuery非常聰明,想要如何正確發送數據)並放棄'id ='位,只需發送{id:$('#ID').value}即可。使用jQuery

1

當你的數據不是JSON類型格式化

對象不需要JSON.stringified。嘗試刪除參數數據類型:「JSON」

有一個愉快的一天

+1

你怎麼知道數據是如何形成的? OP沒有提供他的回覆數據。 – VisioN

+0

嗨,像「key1 = value1&key2 = value2」這樣的數據是url/text格式。 {key1:'value1',key2:'value2'}是一個JSON映射。不是嗎? – sdespont

+1

您可以混合使用'dataType'和'data'選項。他們被用於不同的事情,不相互依賴。檢查[文檔](http://api.jquery.com/jQuery.ajax/)。 – VisioN

0

嘗試使用Mozilla的螢火蟲和檢查包括jQuery的版本。你的代碼對我來說工作得很好。

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<form id="RemoveNote2" style="margin: 0px; padding:0px;" method="post"> 
    <span style="width:80%; display:inline-block;">Test</span> 
    <span style="text-align: center; width: 10%; display:inline-block;"> 
    <input id="ID" type="hidden" value="39"> 
    <button class="close" type="submit">X<button> 
    </span> 
</form> 

<script type="text/javascript"> // Notes Delete 
    $(document).ready(function(){ 
     $("form#RemoveNote2").submit(function() { 
      var ID = $('#ID').val(); 
       $.ajax({ 
        type: "POST", 
        url: "ajaxdeleteinvoicenote.php", 
        data: "id="+ ID, 
        datatype: "json", 
        success: function(result){ 
         alert(result); 
        } 
       }); 
      return false; 
     }); 
    }); 
</script> 

在「ajaxdeleteinvoicenote.php」中添加下面的行。

<?php 
echo $_POST['id'];die; 
?> 
0
$(document).ready(function(){ 
     $("form#RemoveNote2").submit(function() { 
       //e.preventDefault(); 

       $.ajax({     
        url: "/ajaxdeleteinvoicenote.php", type: "POST", dataType: "json", 
        data: { id : $(this).find('#ID').val() },       
        success: function(result){ 
         alert(result); 
        } 
       }); 
      return false; 
     }); 
    }); 
0

你有沒有放置ajaxdeleteinvoicenote.php和發送相同的文件夾內容的頁面?
同樣來自像去年屬性中刪除逗號(,):

datatype: "json"