javascript - 单击按钮时在 Javascript 函数中调用 Ajax

标签 javascript php jquery html ajax

我在这段代码中收到一个错误,显示 Uncaught ReferenceError: myFunction is not Defined at HTMLButtonElement.onclick.I 无法弄清楚我哪里出错了。 这是我的代码,其中包含一个 while 循环,该循环从数据库中获取数据,$xyz 转到名为 myFunction() 的 JavaScript 函数。

这是我的文件:

if($rs->num_rows>0)
{
while($row=$rs->fetch_object())
{

            $xyz=$row->judged_id;

            $my="SELECT DISTINCT first_name,picture from user1 where id='$xyz'";

            $hj=$con->query($my);

            if($hj->num_rows>0)
            {
                while($rz=$hj->fetch_object())
                {
                    echo $name=$rz->first_name;

                    $pic=$rz->picture;


                    echo"<img src='$pic' height=100 width=100>";

                    ?>
                    <button type='button' class='egf' onClick="myFunction('xyz')">Chat</button>
                    <br><br>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  <script>
  var xyz=<?php echo $xyz; ?>;

  function myFunction('xyz')
   { 


    $.ajax({
            type: 'GET',
            url: 'chat/public/01_index.php?id2=xyz',
            success: function(data) {

    $('.chat-list').html(data);
    }
    });

    });

    }
  </script>




  <?php

            } 
        }

最佳答案

PHP 变量 $xyz 的内容是什么?例如,如果它是一个字符串, 这个:

var xyz=<?php echo $xyz; ?>;

会产生如下 JavaScript:

var xyz=ABCDEFG;

这是无效的。相反,它应该是:

var xyz = '<?php echo $xyz; ?>';

此外,您的函数定义似乎不正确,应该是这样的,因为您不能指定字符串作为参数名称:

function myFunction(varNameHere)
{ 
    alert(varNameHere);   
}
<a href="javascript:myFunction('Test')">Click me</a>

此外,您还在函数中使用 jQuery ready() 函数,该函数可能不会随时触发。

我认为您正在寻找的是这样的:

function myFunction(xyz)
{ 
    $.ajax({
            type: 'GET',
            url: 'https://httpbin.org/get?q=' + xyz,
            success: function(data) {
                $('.chat-list').html(data.args.q);
            }
    });

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="javascript:myFunction('stackoverflow')">Click me</a>
<div class="chat-list">

</div>

关于javascript - 单击按钮时在 Javascript 函数中调用 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43536619/

相关文章:

javascript - jquery ui 组合框下拉菜单置于最前面

php - 显示来自连接的数据?

jQuery 在切换中制作动画

javascript - 什么方法最适合在 JavaScript 中实例化其他函数的函数?

javascript - 如果滚动到 div 不存在,则重定向到主页

javascript - Node 预 gyp 安装 --fallback-to-build

php - 为什么 Symfony2 中的 session 数据为空以及如何访问它?

php - 什么时候不会在 PHP 中调用 __destruct?

javascript - Django 模型表单集和 Ajax

javascript - jQuery UI 对话框按钮没有所有默认类?