我在使用JSON时遇到了一些麻烦,我有一个将一个变量发送到php文件的ajax。 php文件接受变量,根据该变量抓取一行数据库, HOPEFULLY (某天)会将它发送回我的javascript,这样我就可以将该值插入到功能
然而,当它发回信息时,它作为整个页面html(当然减去php)出现,我可以看到登录领事。我知道我需要解析来自PHP文件的信息,但截至目前我无法弄清楚如何只返回一串相关数据,以便我可以解析它(用jquery方式)
这是代码: - )
var request2 = $.ajax({
url : "geturl.php",
data : {intermediate_integer : intermediate_integer},
type : 'post'
}).done(function(data) {
console.log(data);
var gotfrom = jQuery.parseJSON(data);
console.log(gotfrom.url);
});
这是我的PHP文件的样子
<html>
<head><script src="http://code.jquery.com/jquery-1.9.1.js"></script><script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script><script src="http://s199881165.onlinehome.us/transfem/scripts/json/json.js"></script><script src="http://s199881165.onlinehome.us/transfem/scripts/json/json2.js"></script><script src="http://s199881165.onlinehome.us/transfem/scripts/json/json_parse.js"></script><script src="http://s199881165.onlinehome.us/transfem/scripts/json/json_parse_state.js"></script>
<script src="http://s199881165.onlinehome.us/transfem/scripts/json/cycle.js"></script></head>
<body> <?
$now_video_var = $_POST['intermediate_integer'];
$list_num_adjust = $now_video_var +1 ;
$z=0;
$user= "dbasdfasdf04";
$pass= "nasdfass";
$numbah = 1;
try {
$dbh = new PDO('mysql:host=db2asdfsadf.net;dbname=db3asdf04', $user, $pass);
}
catch (Exception $e) {
die("Unable to connect: " . $e->getMessage());
}
$seleccion = 'SELECT url, listnum FROM vim_playlist12';
foreach ($dbh->query($seleccion) as $row)
{
$URLnumeral[$z] = $row['url'];
$z++;
}
$sending_you_are_elle = $URLnumeral[$now_video_var];
?>
<script>
var send_end_this ={ "url" : "<? echo $sending_you_are_elle ;?>" }
alert(send_end_this.url);
</script>
</body>
</html>
AAANNnNNnnnd这是我从领事那里得到的:
SyntaxError: JSON Parse error: Unrecognized token '<'
哪个......呃。我知道我在做一些重大错误。但我似乎无法为自己谷歌答案。
Tally,何!
将
答案 0 :(得分:1)
看起来你正试图在php端包含JavaScript JSON文件来解析JSON,但这没有任何意义。 PHP有json_encode
将PHP结构转换为JSON字符串,然后您可以回显。摆脱<?php
和?>
之外的所有内容。您的文件将如下所示:
<?php
$now_video_var = $_POST['intermediate_integer'];
/* snip */
$sending_you_are_elle = $URLnumeral[$now_video_var];
echo json_encode($sending_you_are_ell);
exit;