以下代码片段在我的localhost中工作,但是当我在服务器上传文件时表现得非常奇怪。
$(function(){
var myPath=<?= BASE_URL ?>+'myaddress/mystatelist';
$('#country').val('US')
loadMystate('US',myPath);
});
实际上我在我的localhost中创建了vhost,例如“test.study.com/projectname”,这意味着“<?= BASE_URL ?>
”将“/projectname
”作为BASE_URL。当我在BASE_URL“http://dev.study.com
”下上传文件时遇到问题。现在我在firebug中收到错误“missing ; before statement var myPath=http://dev.study.com/+'myaddress/mystatelist';
”
这段代码我做错了什么?请帮助我。
答案 0 :(得分:1)
您在基本网址周围缺少引号,因此它试图将其解释为代码。尝试:
var myPath = '<?= BASE_URL ?>myaddress/mystatelist';
答案 1 :(得分:1)
您的JS代码如下所示:
var myPath=http://dev.study.com/+'myaddress/mystatelist';
您的第一个字符串:
缺少引号var myPath='http://dev.study.com/'+'myaddress/mystatelist';
而且,要获取从PHP生成的引用,您的PHP代码应该如下所示:
var myPath = '<?= BASE_URL ?>' + 'myaddress/mystatelist';
或者你可以删除字符串连接,并直接使用:
var myPath = '<?= BASE_URL ?>myaddress/mystatelist';
答案 2 :(得分:0)
必须在JavaScript中引用字符串。
var myPath=http://dev.study.com/
报价在哪里?
答案 3 :(得分:0)
var myPath='<?= BASE_URL ?>myaddress/mystatelist';
您的PHP代码被写入输出,但它不在字符串中。您的值将在JS中抛出无效的RegEx错误。
另外,$('#country').val('US')
- 你确定它正在做任何事情吗?它似乎缺少;
。
答案 4 :(得分:0)
此外,您的服务器可能不支持短标记<?=
。在Are PHP short tags acceptable to use?处有一个很好的答案。
第二个想法,这可能不是因为变量是打印的问题 - 对不起!