【发布时间】:2016-02-20 16:34:10
【问题描述】:
所以我有一个非常简单的 ajax 设置,并且运行良好。
function ajax_post(){
var hr = new XMLHttpRequest();
var f = "foo";
var j = "bar";
hr.open("POST", "ajax7.php", true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var rd = hr.responseText;
}
}
hr.send("f="+f+"&j="+j);
}
然后我决定通过删除所有空格来缩小它,所以我最终得到了
function ajax_post(){var hr = new XMLHttpRequest();var f = "foo";var j = "bar";hr.open("POST", "ajax7.php", true);hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");hr.onreadystatechange = function(){if(hr.readyState == 4 && hr.status == 200){ var rd = hr.responseText;}}hr.send("f="+f+"&j="+j)}
它停止工作,引发错误。 语法错误:缺少;声明之前
所以,我终于通过在单行版本中的 hr.send 之前添加一个逗号来修复它并且它再次工作。
我的问题...那个逗号有什么意义?它在没有它的“扩展”版本中工作。我真的应该一直把那个逗号放在“扩展”版本中吗……?
【问题讨论】:
-
var foo = function(){}bar();、var foo = function(){},bar();和var foo = function(){}; bar();是三个非常不同的程序。虽然添加逗号可能会使程序在语法上正确,但它不会按您的意愿工作。
标签: javascript ajax