JSON和AJAX发送字符串NOT整页

时间:2013-05-01 00:34:12

标签: php jquery ajax json

我在使用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,何!

1 个答案:

答案 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;