我正在考虑" undefined"用这个JavaScript。为什么?

时间:2017-05-10 16:15:51

标签: javascript jquery

我现在已经挖了4个小时了,我决定问,因为我无法理解这个问题。

我在一页中有以下内容:

support.php:

<div id="userID"><?= $dataOwner =></div>
<a class="nav-link" href="JavaScript:void(0);" id="showOpen">Open</a>
<script src="js/tickets.js></script>

在上面的页面(support.php)中,$ dataOwner正确返回一个值。 点击后,链接必须调用&#34; js / tickets.js&#34;我有以下内容的脚本:

tickets.js:

$("#showOpen").click(function(){ 
    $.ajax({
        type: "POST",

        url: 'https://[redacted]/load_tickets.php?user='+$('#userID').val(),
            success:function(data) {
                document.getElementById('openTickets').innerHTML = data;
            }
    });
});

但#userID的值始终未定义。 为什么这样,我做错了什么?

1 个答案:

答案 0 :(得分:0)

首先,不要在php中使用速记 - 在任何时候移动服务器时可能会导致错误。

其次..没有内联JS !!!

最后,你正在使用url params作为post方法。

我是怎么做的(以及我的推荐方式):

[支持]

<div id="customer" data-id="<?php echo $dataOwner; ?>"><?php echo $dataOwner; ?></div>
<a href="#" class="nav-link" id="showOpen">Open</a>

<script>
    $(document).ready(function()
    {
        $('#showOpen').on('click', function()
        {
            $.ajax({
                data: {user: $('#customer').data('id')},
                dataType: 'json',
                type: 'post',
                url: '/your/path/to/load_tickets.php',
                success: function(data)
                         {
                             $('#openTickets').html(data);
                         }
            });
        });
    });

然后不需要ticket.js(在这种情况下)

这会将数据作为$ _POST(数组)发布到文件中,您可以根据需要使用$ _POST:)