모든 호스팅 환경에서 올바르게 작동하지 않는 기능이 있습니다. 반환 된 데이터는 JSON 형식입니다. 문제는 eval()입니다. eval()에 대한 대안을 사용할 수 있습니까? 이 문제를 해결하거나 다른 대안을 제안 해주세요.잡히지 않은 SyntaxError : 예기치 않은 식별자 및 평가 대안
사흘 동안, 나는 (단지 몇 hostings에 나타납니다 그러나 다른 사람에 잘 작동하는)
inLoad.php이
while($row=mysqli_fetch_array($sql)){
$text=$row['mesg'];
$fro=$row['fro'];
$tocomr=$row['tocom'];
$last_msg_id_db=$row_m['maxid'];
$response=array();
//$response['msg']=$table;
$response['msg']=$text;
$response['last_msg_id_db']=$last_msg_id_db;
$final_response[]=$response;
}
echo json_encode($final_response);
하고있는 데이터를이 오류와 함께 내 머리를 scrathing하고 데이터는
[{"msg":"hi<br>","last_msg_id_db":"173"}]
main.php:96
main.php:96
[{"msg":"heloo<br>","last_msg_id_db":"174"}]
으로 반환됩니다. jquery 함수는 다음과 같습니다.
function chat_com_one(id, name) {
$('#chatcom').show('fast');
(function chatcom_load_one(id, name) {
$.ajax({
type:"Post",
url:"load.php",
data:{
tocom:id,
last_msg_id:last_msg_id
},
success:function(data) {
var json = eval(data);
$.each(json, function(i, row) {
$("#commidwin").append(row['msg']);
last_msg_id = row['last_msg_id_db'];
});
setTimeout(chatcom_load_one(id, name), 500);
},
error:function(XMLhttprequest, textstatus, errorthrown) {
alert("error:" + textstatus + "(" + errorthrown + ")");
}
});
}(id, name));
}
아래의 오류가 크롬의 로그
Uncaught SyntaxError: Unexpected identifier main.php:95
$.ajax.success main.php:95
fire jquery.min.js:974
self.fireWith jquery.min.js:1082
done jquery.min.js:7788
callback
"eval"기능이 "데이터"로받는 기능은 무엇입니까? 이 변수의 값을 제공하십시오. – izogfif
@izogfif 내 질문을 업데이트하고 evaled.plz 검토 –
"평가할 데이터"데이터를 추가했습니다.이 데이터를 생성하는 CODE가 아니라 DATA가 필요합니다. "var json = eval (data);"변수의 "data"값으로받은 기호는 무엇입니까? – izogfif