0

我知道已经以各种形式提出了这个问题,但我一直无法找到与我想要完成的目标相符的回答。完全是业余爱好者,所以任何额外的指针都值得赞赏。

任务:
使用 page1 上的表单将数据发布到 PHP 文件,然后在 MySQL 表中搜索与$_POST[]. 然后,PHP 文件将结果回显为JSON_encode($variable). 从那里,PHP 文件将用户重定向回 page1,该页面(理论上)有一个 JQuery 脚本,该脚本$variable从 PHP 文件调用并使用数据创建 html。

代码:
PHP

<?php
ob_start();
session_start();
session_save_path('path');
mysql_connect("", "", "")or die(); mysql_select_db("db")or die();
$pname = $_POST['country'];
$result = mysql_query("SELECT * FROM project WHERE name = '$pname'");      
$array = mysql_fetch_row($result);  
echo json_encode($array);
header("page1.html");
?>

html/jquery/ajax

<script type="text/javascript">// <![CDATA[
$(document).ready( function() {
    $.ajax({
        type: 'POST',
        url: 'page.php',
        data: '',
        dataType: 'json',
        cache: false,
        success: function(result) {
            $('#content1').html(data);
        },
    });
});
// ]]></script>
<div id="content1"></div>

php 脚本工作并回显 JSON 编码变量,但 #content1 上没有任何内容...我感觉我的代码错误,或者在发布到 PHP 文件然后重定向时数据丢失。

4

2 回答 2

1

您正在尝试将变量附加data到内容中,但该变量被称为result. 尝试这个:

<script type="text/javascript">// <![CDATA[
$(document).ready( function() {
$.ajax({
type: 'POST',
url: 'page.php',
data: '',
dataType: 'json',
cache: false,
success: function(result) {
$('#content1').html(result);//<- this used to be $('#content1').html(data);
},
});
});
// ]]></script>
<div id="content1"></div>

此外,正如许多人指出的那样,您目前只是在输出 json - 没有任何东西可以生成表格。

于 2013-02-28T22:19:08.160 回答
0

将 $('#content1').html(data) 更改为 $('#content1').html(result);

于 2013-02-28T22:20:56.953 回答