当我在我的文件中提醒它时,我在.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>
答案 0 :(得分:2)
尝试使用
声明server_urlwindow.server_url = 'https://url.com';
听起来就像你宣布它在全球范围内没有做到这一点。你也可以尝试在你声明它之前放置alert(1)
,然后在你执行ajax调用之前的函数中放置alert(server_url)
并确保你在ajax函数中的警报之前看到第一个警报。