gpt4 book ai didi

javascript - 语法错误 : expected expression, 得到 ')'

转载 作者:行者123 更新时间:2023-11-29 19:27:59 26 4
gpt4 key购买 nike

我已经被这个错误卡住了好几天了,还是没弄清楚是哪里出了问题。如果有人能指出我解决这个问题的正确方向,那就太好了。

更新:当我在 updateMsg() 函数中评论“addMessages(xml)”时,我意识到错误消失了。那我该如何让它发挥作用呢?

错误: http://i.imgur.com/91HGTpl.png

代码:

$(document).ready(function () {
var msg = $("#msg");
var log = $("#log");
var timestamp = 0;

$("#name").focus();

$("#login").click(function() {
var name = $("#name").val();
if (!name) {
alert("Please enter a name!");
return false;
}

var username = new RegExp('^[0-9a-zA-Z]+$');

if (!username.test(name)){
alert("Invalid user name! \n Please do not use the following characters \n `~!@#$^&*()=|{}':;',\\[\\].<>/?~@#");
return false;
}

$.ajax({
url: 'login.php',
type: 'POST',
dataType: 'json',
data: {name: name},
success: function() {
$(".login").hide();
}
})
return false;
});

$("#form").submit(function() {
if (!msg.val()) {
return false;
}

$.ajax({
url: 'add_message.php',
type: 'POST',
dataType: 'json',
data: {message: msg.val()},
})

msg.val("");

return false

});

window.setInterval(function () {
updateMsg();
}, 300);

function updateMsg() {
$.post('server.php', {datasize: '1024'}, function(xml) {
addMessages(xml);
});
}

function addMessages(xml) {

var json = eval('('+xml+')');

$.each(json, function(i, v) {

tt = parseInt(v.time);

if (tt > timestamp) {
console.log(v.message);
appendLog($("<div/>").text('[' + v.username + ']' + v.message));
timestamp = tt
}
});
}

function appendLog(msg) {
var d = log[0]
var doScroll = d.scrollTop == d.scrollHeight - d.clientHeight;
msg.appendTo(log)
if (doScroll) {
d.scrollTop = d.scrollHeight - d.clientHeight;
}
}
});

最佳答案

这可能有助于 read up on eval一点点。它看起来不像您认为的那样。

eval() is a dangerous function, which executes the code it's passed with the privileges of the caller.

还有

There are safer (and faster!) alternatives to eval() for common use-cases.

看起来您正在尝试做的是以 JSON 形式从服务器获取数据。你需要确保你的服务器返回一些有效的 JSON,你可以验证 here .大多数服务器端编程语言都有一个库,可以将对象转换为 JSON,使之变得轻而易举。 Here's an example for php .

在客户端,您需要将 var json = eval('(' + xml + ')'); 更改为 var json = JSON.parse(xml ); 这将为您提供 php/perl/python/etc 对象的 javascript 版本。如果它是一个数组,则可以使用 for 循环、Array.prototype.forEach 或来自不同库的各种函数(例如 )对其进行迭代$.each_.each

关于javascript - 语法错误 : expected expression, 得到 ')',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29812338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com