Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用ajax不起作用_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 调用ajax不起作用

Javascript 调用ajax不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax方法,我用它来更改对象的状态。通过随时单击该元素,可以更改每个状态 问题是在第一次加载页面后,它工作正常。但当我再次单击时,if甚至不会触发(我调试了它,发现它根本没有进入脚本)。我需要用户可以点击按钮,并更改每次点击的状态 我搜索了很多,并测试了下面列出的方法。但它们都不适合我: 在ajax方法中使用.preventDefault()(这样,如果我对ajax方法调用进行注释并发出警报,那么每次单击都会发出警报,但当我调用ajax时,它就不起作用了) 使用 添加现金:false

我有一个ajax方法,我用它来更改对象的状态。通过随时单击该元素,可以更改每个状态

问题是在第一次加载页面后,它工作正常。但当我再次单击时,if甚至不会触发(我调试了它,发现它根本没有进入脚本)。我需要用户可以点击按钮,并更改每次点击的状态

我搜索了很多,并测试了下面列出的方法。但它们都不适合我:

  • 在ajax方法中使用.preventDefault()(这样,如果我对ajax方法调用进行注释并发出警报,那么每次单击都会发出警报,但当我调用ajax时,它就不起作用了)
  • 使用
  • 添加现金:false
  • 代码如下:

    HTML

     <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>