【问题标题】:Ajax call is not working in keyup functionAjax 调用在 keyup 函数中不起作用
【发布时间】:2023-03-27 13:15:01
【问题描述】:

当我在 ajax 调用警报显示之前放置警报但未在 ajax 调用内部显示时,它甚至没有进入 ajax 调用内部,为什么它是一个 php 文件,而我正在使用 xxamp。

<div class="col-sm-12 pb-3">

 <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script>

document.querySelector("#scroll_msg").scrollTop = document.querySelector("#scroll_msg").scrollHeight;

</script>





$(document).ready(function(){

$('#text').keyup(function(e){

if(e.keyCode==13){   
    
var text=$('#text').val(); 
    $.ajax({
        
        type:'POST',
        url:'insert_msg.php',
    data:{text:text},
    
    success:function(){ 
        //alert('hello');
        $('#scroll_msg').load('display_msg.php'); 
        $('#text').val('');
        
    } 
        
    });
    
    
    
}
    

});

});

【问题讨论】:

  • 什么是“alert('hello');”在你的 ajax 配置对象中做什么?它破坏了语法。
  • 无论如何它都不起作用我在成功函数中尝试了警报而不是ajax
  • 并且您确实包含了 jquery 和一个带有 id text 的 textarea 或 input[type=text] ?
  • 是的,一切都很好,它是一个 textarea 类型 = text 和 id =text
  • 那么您必须向我们提供更多代码,因为上面的 sn-p 很好。

标签: jquery ajax


【解决方案1】:

删除 alert() 并且以下是工作代码。 (显然它在这里不起作用,因为这些端点对 stackoverflow 无效,但如果您在您的环境中尝试,它们应该可以工作)

$(document).ready(function()
{
    $('#text').keyup(function(e){
        if(e.keyCode==13)
        {    
           console.log('Event keyUp on enter');
            var text=$('#text').val(); 
            $.ajax({
             
                type:'POST',
                url:'insert_msg.php',
                data:{text:text},

                success:function(){    alert('hello');
                    $('#scroll_msg').load('display_msg.php');
                    $('#text').val('');
                } 
            });
        }   
    });     
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<input type="text" id="text">

【讨论】:

  • 好像还是不行
  • 你能不能点击上面ans中的Run Code sn-p,你应该可以看到它正在进入ajax并且keyup事件正在运行。你也可以分享你在本地运行时看到的控制台错误吗?
  • Uncaught TypeError: $.ajax is not a function at HTMLTextAreaElement. (sent_messages.php:92) at HTMLTextAreaElement.dispatch (jquery-3.4.1.slim.min.js:2)在 HTMLTextAreaElement.v.handle (jquery-3.4.1.slim.min.js:2) (匿名) @ sent_messages.php:92 dispatch @ jquery-3.4.1.slim.min.js:2 v.handle @ jquery -3.4.1.slim.min.js:2
  • 是的,我知道它得到了 keyup 事件,但我只是注意到控制台中的错误,它是 ajax 或我的 Jquery 版本中的问题,我不知道帮助我
【解决方案2】:

是的,我的代码终于没问题了,它是 Jquery 的精简版 引起了问题,所以我将其替换为仅缩小了它现在可以使用, 谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 2015-02-13
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多