我目前正在尝试使用AJAX从我的MySQL数据库中删除信息,但出于某种原因,该请求甚至没有发送到我指定的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 :(得分:1)
您的数据不是格式化的JSON类型。尝试删除参数数据类型:“json”
度过愉快的一天
答案 1 :(得分:0)
请注意不是datatype: "json",
其dataType: "json",
...也 而不是使用..
var ID = $('#ID').attr('value');
用这种方式很好......
var ID = $('#ID').val();
我认为这会解决..
答案 2 :(得分:0)
您发送的datatype
选项设置为JSON,而实际数据是form-urlencoded:JSON中的data: "id="+ ID,
会读取{"id":"123"}
。你最好放弃数据类型(jQuery很聪明,想知道如何正确发送数据)并删除'id ='位,只需按原样发送{id:$('#ID').value}
。
使用jQuery时,对象不需要是JSON.stringified
答案 3 :(得分:0)
尝试使用Mozilla firebug并检查包含的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;
?>
答案 4 :(得分: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;
});
});
答案 5 :(得分:0)
您是否放置了ajaxdeleteinvoicenote.php以及在同一文件夹中发送内容的页面?
同时从上一个属性中删除逗号(,),如:
datatype: "json"