0

この質問がさまざまな形で寄せられていることは承知していますが、私が達成しようとしていることに一致する回答を見つけることができませんでした. 完全な素人なので、追加のポインタは大歓迎です。

タスク:
page1 のフォームを使用して、PHP ファイルにデータを送信します。次に、PHP ファイルは、MySQL テーブルで に対応する行を検索します$_POST[]。次に、PHP ファイルは結果を としてエコーしますJSON_encode($variable)。そこから、PHP ファイルはユーザーを page1 にリダイレクトします。このページには (理論的には) $variable、PHP ファイルから を呼び出してデータで html を作成する JQuery スクリプトがあります。

コード:
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 に答える