Javascript 调用ajax不起作用
我有一个ajax方法,我用它来更改对象的状态。通过随时单击该元素,可以更改每个状态 问题是在第一次加载页面后,它工作正常。但当我再次单击时,if甚至不会触发(我调试了它,发现它根本没有进入脚本)。我需要用户可以点击按钮,并更改每次点击的状态 我搜索了很多,并测试了下面列出的方法。但它们都不适合我:Javascript 调用ajax不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax方法,我用它来更改对象的状态。通过随时单击该元素,可以更改每个状态 问题是在第一次加载页面后,它工作正常。但当我再次单击时,if甚至不会触发(我调试了它,发现它根本没有进入脚本)。我需要用户可以点击按钮,并更改每次点击的状态 我搜索了很多,并测试了下面列出的方法。但它们都不适合我: 在ajax方法中使用.preventDefault()(这样,如果我对ajax方法调用进行注释并发出警报,那么每次单击都会发出警报,但当我调用ajax时,它就不起作用了) 使用 添加现金:false
<tr>
<td> 21.</td>
<td>Title 1</td>
<td><span class="badge bg-green">10</span></td>
<td>n</td>
<td><a id="1026" class="badge bg-red status">Status</a></td>
<td>
<a class="btn btn-app" id="1026"><i class="fa fa-close"></i>
</a>
</td>
</tr>
21
标题1
10
N
地位
JAVASCRIPT:
$(.status”)。在(“单击”,函数(){
var Id=jQuery(this.attr(“Id”);
var queryid=@Model.Id;
$.ajax({
类型:“POST”,
url:'@url.Action(“changesuggestatus”,“Inquiry”),
数据:{id:'+'''+id+''+',inquirryId:'+'''+''+inquirryId+'''+'}',
contentType:“应用程序/json;字符集=utf-8”,
async:false,
成功:功能(数据){
$(“.table bordered”).empty();
$(“.table bordered”).append(数据);
},
故障:功能(响应){
警报(response.d);},
错误:函数(xhr){
警报('请求状态:'+xhr.Status+'状态文本:'+xhr.statusText+''+xhr.responseText);
}
});
});
你能帮我解决这个问题吗?
你认为我为ajax设置的一个值可以阻止下一次调用ajax吗
问候
$(“.status”)
是否在$(“.table bordered”)
内?ajax成功的数据包含哪些内容?您是否可以添加html,至少是发生单击和附加或状态更改的部分。完全不需要执行async:false,
-它已被弃用,并且会导致较差的用户体验experience@Erwin对状态在表中。成功后,我创建表中的行,其中包含模型的相关数据。我用HTML代码编辑了我的问题。做一个简单的调试测试。清除单击
函数中的所有代码,然后编写一个简单的控制台。日志('test')
查看您的单击事件是否有效?@JaromandaX我测试了它,但删除它并不能解决问题。
$(".status").on("click", function(){
var Id = jQuery(this).attr("id");
var inquiryId = @Model.Id;
$.ajax({
type: "POST",
url: '@Url.Action("ChangeSuggestionStatus", "Inquiry")',
data : '{id : ' + '"' + Id + '"' + ', inquiryId:' + '"' + inquiryId + '"' + '}',
contentType: "application/json; charset=utf-8",
async : false,
success: function (data) {
$( ".table-bordered" ).empty();
$( ".table-bordered" ).append(data);
},
failure: function (response) {
alert(response.d);},
error: function (xhr) {
alert('Request Status: ' + xhr.status + ' Status Text: ' + xhr.statusText + ' ' + xhr.responseText);
}
});
});
</script>