JSON Eval函数中的意外标识符
Unexpected identifier in JSON Eval function
这是我在某个地方复制的用于评级页面的代码。这段代码在我的本地主机上工作得很好,但当我把它上传到服务器上时,它返回语法错误。
function rtgAjax(elm, ratev) {
var cerere_http = get_XmlHttp(); // get XMLHttpRequest object
// define data to be send via POST to PHP (Array with name=value pairs)
var datasend = Array();
for(var i=0; i<elm.length; i++) datasend[i] = 'elm[]='+elm[i];
// joins the array items into a string, separated by '&'
datasend = datasend.join('&')+'&rate='+ratev;
cerere_http.open("POST", 'ratingfiles/ratings.php', true);
// crate the request
cerere_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // header for POST
cerere_http.send(datasend);
// make the ajax request, poassing the data
// checks and receives the response
cerere_http.onreadystatechange = function() {
if (cerere_http.readyState == 4) {
// receives a JSON with one or more item:['totalrate', 'nrrates', renot]
eval(' var jsonitems = ' + cerere_http.responseText);
// if jsonitems is defined variable
if (jsonitems) {
// parse the jsonitems object
for(var rtgitem in jsonitems) {
var renot = jsonitems[rtgitem][2];
// determine if the user can rate or not
// if renot=3 displaies alert that already voted, else, continue with the rating reactualization
if(renot == 3) {
alert("You already voted 'n You can rate again tomorrow");
window.location.reload(true); // Reload the page
}
else addRtgData(rtgitem, jsonitems[rtgitem][0], jsonitems[rtgitem][1], renot); // calls function that shows rating
}
}
这条线,
eval(' var jsonitems = ' + cerere_http.responseText);
返回语法错误:Unexpected Identifier
eval
不应该这样使用。相反,试着这样做:
var jsonitems;
try {
jsonitems = JSON.parse(cerere_http.responseText);
}
catch(e) {alert("Failed to parse JSON: "+e);}
相关文章:
- 未捕获的SyntaxError:具有服务器变量的意外标识符
- Chrome 的 Javascript 控制台中的意外标识符
- AngularJS:POST $http意外标识符
- jQuery.ajax Uncatch SyntaxError: 意外标识符
- Ajax响应成功,但无法使用数据(未捕获语法错误:意外标识符)
- 一个javascript函数导致“;意外标识符”;来自不同函数的错误
- 未捕获的语法错误:if/else上的意外标识符
- 使用带有es6的文件时,服务器端SyntaxError意外标识符
- 书签时 JavaScript 意外标识符
- 输入标记的意外标识符
- JavaScript + PHP 未捕获的语法错误意外标识符
- 未捕获的语法错误:带有 .append() 字符串的意外标识符
- 意外标识符每日奖励功能
- 未捕获的语法错误:Java 中使用 Grails 的意外标识符
- 尝试使用 javascript/jQuery 插入 HTML 时出现意外标识符
- jquery 中的“未捕获语法错误:意外标识符”错误
- 意外标识符 javascript
- JSON href .append 意外标识符
- 函数调用的意外标识符
- 浮点:系列是选项中的意外标识符