全局js变量未在$ .ajax中传递

时间:2015-11-25 14:32:12

标签: javascript jquery html ajax cordova

当我在我的文件中提醒它时,我在.js文件中声明了一个变量server_url。我可以看到它。

问题是当我启动ajax请求时,似乎没有看到server_url的值,它直接转到错误消息。但是,当我使用脚本标记对HTML文件中的变量进行硬编码并从HTML中删除config.js文件的包含时,ajax请求可以毫无问题地读取它。

任何解释或帮助? 以下是我的代码的更多或更少部分。

config.js

var server_url = 'https://url.com';

file.js

$('#app_status_account').click(function() {

    alert(server_url);

    $.ajax({
        url: server_url + '/my_web_service',
        type: "POST",
        data: {
            client_phone: $('#client_phone_number').val(),
            PIN_code: $('#pass').val()
        },
        success: function(msg) {
            alert(JSON.stringify(msg));
        }
        error: function(jqXHR, textStatus) {
            alert('Request couldn't be done');
        }
    });
});

index.html(包含部分;我在头部尝试了它,甚至在关闭body标签之前结束了)

<script type="text/javascript" src="js/config.js"></script>
<script type="text/javascript" src="js/file.js"></script>

1 个答案:

答案 0 :(得分:2)

尝试使用

声明server_url
window.server_url = 'https://url.com';

听起来就像你宣布它在全球范围内没有做到这一点。你也可以尝试在你声明它之前放置alert(1),然后在你执行ajax调用之前的函数中放置alert(server_url)并确保你在ajax函数中的警报之前看到第一个警报。