为什么我得到一个javascript参考错误?

时间:2014-03-20 07:08:47

标签: javascript php html

这是代码。我在PHP文件中用javascript创建了一个函数。

  function getGeneratedLink(){
 alert("hi");
    $('#generateLinkModal').show();
    $('.generated_link_section').slideDown("fast");
    $('.generated_link_section').show();
$("#generateLinkModal div.modal-body span.message").hide();
$("#generateLinkModal div.modal-body input").hide();
$("#generateLinkModal div.modal-body span.loader-gif").show();

$.ajax({
    type:       "POST",
    url:        <?php echo $this->createUrl('admin/generateLink') ?>,
    data:       {},
    async:      false,
    dataType:   "json",
    success:    function(data) {
                    $("#generateLinkModal div.modal-body span.loader-gif").hide();
                    if (!data['session']) {
                        $('.generated_link_section').slideUp('fast', function(){
                            alert(data['session_msg']);
                            window.location = data['url'];
                        });
                    } else if (!data['success']) {
                        $("#generateLinkModal div.modal-body span.message").text(data['error_msg']);
                        $("#generateLinkModal div.modal-body span.message").show();
                    } else {
                        $("#generateLinkModal div.modal-body input").val(data['link']);
                        $("#generateLinkModal div.modal-body input").show();
                    }
                }
});

 }

稍后我正在调用此函数,就像这样,不包含html标签

onclick="getGeneratedLink()">New Registration Link</button></a></li>

它显示了引用错误,脚本标记之间的功能很好。

我尝试了很少的函数调用变体..没有丰硕的成果..

我不知道是什么导致了这个错误

     <pre><code>
 <div class='admin-work-area'>
        <!-- Jquery files -->
            <script type="text/javascript" src="<?php echo $baseURL ?>/jquery/jquery.min.js"></script>
            <script type="text/javascript" src="<?php echo $baseURL ?>/jquery/jquery-blockUI.min.js"></script>
            <script type="text/javascript" src="<?php echo $baseURL ?>/jquery/jquery.tablesorter.min.js"></script>
            <!--BOOTSTRAP-->
            <link rel="stylesheet" type="text/css" href="<?php echo $baseURL; ?>/bstrap/css/bootstrap.min.css" media="all" />
            <script type="text/javascript" src="<?php echo $baseURL; ?>/bstrap/js/bootstrap.min.js"></script>
            <!--CUSTOM STYLESHEET-->
            <link rel="stylesheet" type="text/css" href="<?php echo $baseURL ?>/wizshark/css/style.css" media="all" />

    <ul id="admin-tabs" class="nav nav-tabs">
        <li class="active"><a data-toggle='tab' href="#tab-manage-users">Manage Users</a></li>
        <?php if($isSuperAdmin) { ?>
        <li><a data-toggle='tab' href="#tab-manage-admins">Manage Admins</a></li>
        <?php } ?>
        <li><a data-toggle='tab' href="#tab-alogs">Audit Logs</a></li>
        <li><a data-toggle='tab' href="#tab-charts">Monitor Charts</a></li>
        <li class="pull-right"><a href="#" style="min-width: 100px;max-height: 20px"><input type="text" placeholder="Search" class="search-query nopadding-verticle"></a></li>
                    <li class="pull-right"><a href="#"><button class="btn nopadding-verticle" onclick="getGeneratedLink()"><i class="icon-plus"></i> New Registration Link</button></a></li>
                    <li class="pull-right"><a href="#"><button class="btn nopadding-verticle" onclick="javascript:void window.open('<?php echo $this->createUrl('admin/addNewUser') ?>','1359116962684','width=800,height=650,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,resizable=0,left=0,top=0');return false;"><i class="icon-plus"></i> New User</button></a></li>

    </ul>
    <div id="admin-tabs-content" class="tab-content admin-tabs-content">

        <div id="tab-manage-users" class="tab-pane active">
            <ul class="unstyled list list-users">
                <li>
                    <div class="headers">
                        <div class='username'> &nbsp; <b> Username </b> </div>
                        <div class='email'> <b> Email </b> </div>
                        <div class='status'> <b> Status </b> </div>
                        <!--<div class='usage'> <b> Usage </b> </div>-->
                        <div class='count-quota'> <b> Traces / Quota </b> </div>
                        <div class='upload-size-quota'> <b> Size / Quota </b> </div>
                    </div>
                </li>
                <!-- the list of divs of users will come here-->
            </ul>
            <span id="list-users-json" style="visibility:hidden">
                <?php echo $admin_model->get_users_list(); ?>
            </span>
            <script type="text/javascript">
                display_users();
            </script>
        </div>

1 个答案:

答案 0 :(得分:0)

<?php echo $this->createUrl('admin/generateLink') ?>将生成一个没有任何引号的网址。 JavaScript字符串文字必须包含引号。

改为使用<?php echo json_encode($this->createUrl('admin/generateLink')); ?>

如果您遇到JavaScript错误,请始终检查您的实际JavaScript而不是PHP。