1

我在使用 JSON 时遇到了一些问题,我有一个将一个变量发送到 php 文件的 ajax 东西。php 文件获取变量,根据该变量获取数据库的一行,希望有一天)将其发送回我的 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 '<'

哪个....呃。我知道我在这里做错了什么。但我似乎无法为自己搜索答案。

发现目标!

将要

4

1 回答 1

1

似乎您正试图在 php 端包含 JavaScript JSON 文件来解析 JSON,但这没有任何意义。PHP 必须json_encode将 PHP 构造转换为 JSON 字符串,然后您可以回显。摆脱<?phpand之外的一切?>。您的文件将如下所示:

<?php
$now_video_var = $_POST['intermediate_integer'];
/* snip */
$sending_you_are_elle = $URLnumeral[$now_video_var];
echo json_encode($sending_you_are_ell);
exit;
于 2013-05-01T00:38:24.693 回答