fru*_*cup 1 javascript xmlhttprequest token
我有一个PHP脚本(fetchData.php),它获取一些数据并将其输出到页面.
<?php
require 'config.php';
require 'jsonapiSDK.php';
$api = new JSONAPI($ip_address, $jsonapi_port, $username, $password, $salt);
$response = $api->call('BWMFunction');
echo(addslashes($response["success"].";"));
?>
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到输出:http://justicecraft.net/worldmap/fetchData.php 我有另一个页面使用XMLHttpRquest来获取fetchData.php的响应这里是它的JavaScript.它应该接受响应,并且eval()它(创建一个名为BWMFunction的数组)然后将该数组传递给我拥有的另一个函数.当我尝试eval()响应时发生非法令牌错误.
function fetchData() {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
res = xmlhttp.responseText;
alert(res);
eval(res);
generate(BWMFunction);
}
}
xmlhttp.open("GET", "fetchData.php", true);
xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用StackOverflow,所以任何帮助都将不胜感激.我现在已经搜索了很长一段时间,但没有一个答案对我有帮助.
您返回了无效的javascript,fetchData.php这就是该eval方法崩溃的原因.而不是\"在输出中你应该很简单".我完全不了解PHP,但我准备打赌它的addslashes功能导致了损坏.所以也许你可以尝试以下方面:
echo($response["success"].";");
Run Code Online (Sandbox Code Playgroud)