JavaScript: Unexpected token

JavaScript: Unexpected token

在你post任何代码之前介绍问题:

我有一个简单的 JavaScript 代码,它给我一个意外的令牌错误。这是我试图从 PHP 转换为 JavaScript 以便在 Phonegap 应用程序中使用的代码。

具体来说就是声明$ex_data变量的那一行。它说意外标记是 $system 和 $galaxy 变量之间的部分。

代码

for ($galaxy = 1; $galaxy < 21; $galaxy++){
            for ($system = 1; $system < 601; $system++){
                var $ex_data = '{"planet_id":-1,"sid":'.$system.',"language":"en","gid":'.$galaxy.'}';
                var $url = "http://54.193.106.113/ING004/android1/WebServer/Web/sogame/newControl/nmUniverse/getUniverse?sign=".toUpperCase($sign);     

            }
        }

明确问题:

如何修复该行使其有效?

var $ex_data = '{"planet_id":-1,"sid":' + $system + ',"language":"en","gid":' + $galaxy +'}';
var $url = "http://54.193.106.113/ING004/android1/WebServer/Web/sogame/newControl/nmUniverse/getUniverse?sign=" + $sign.toUpperCase();

您混淆了 PHP 串联和 JavaScript (C) 串联。

for ($galaxy = 1; $galaxy < 21; $galaxy++) {
        for ($system = 1; $system < 601; $system++) {
            var $ex_data = '{"planet_id":-1,"sid":'
                         . $system . ',"language":"en","gid":' . $galaxy.'}';
            var $url = "http://54.193.106.113/ING004/android1/WebServer/Web/sogame/newControl/nmUniverse/getUniverse?sign="
                       .toUpperCase($sign);     
        }
    }

将“.s”更改为“+s”。

var $ex_data = '{"planet_id":-1,"sid":'
             + $system + ',"language":"en","gid":' + $galaxy + '}';

或者

var $ex_data = JSON.stringify({
    "planet_id" : -1,
    "sid"       : $system,
    "language"  :"en",
    "gid"       : $galaxy
});

此外,如下所述,更改 .toUpperCase($sign); -> + $sign.toUpperCase();