0

jquery $.post() メソッドを使用してテーブルにデータを追加したいのですが、更新されません。HTML:これは HTML コードです

    <div id="ant-container" name="text" style="border:1px solid #CCCCCC;height:300px;width:80%;">
    <?php if (isset($_POST['submit'])&& $_POST['text'] ==''){
    echo parseWord($myFile);
    }elseif (isset($_POST['text'])) { echo $_POST['text'];}
    </div>

jquery: この jquery コード

 var div_contents = $('#ant-container').html();
    var ides = $('#id').val();
    $.post("content.php", { contents:div_contents, id :ides});

これで、「ides」と「div_contents」の両方を取得しています PHP:これは私のphpコード(content.php)

$div = mysql_real_escape_string($_POST['contents']); 
$id = mysql_real_escape_string($_POST['id']); 
$sql ="UPDATE `antr_essay` SET `annotext`=      {$div},`grade`='$_POST[grade]',`comments`='$_POST[comments]'
WHERE id=$id";
$update=$DB->update($sql);
$sql ="UPDATE `antr_essay` 
   SET `annotext`={$div},
   `grade`='$_POST[grade]',
    `comments`='$_POST[comments]'
        WHERE id=$id";
   $update=$DB->update($sql);
      //var_dump($sql);exit;
if (isset($update)){
  echo  '<div align="center" class="alert alert-success">';
  echo "Annotation added Successfully";
  echo '</div>';
}
header("loction:annotate.php");

content.php にリダイレクトされず、テーブルが更新されないことを送信した後。何ができますか pls は私を助けて

ありがとう、

4

6 に答える 6

0

serializeArray()を使用して、これを試してください。

var div = $("#ant-container").serializeArray();
$.post("content.php", div );
于 2013-04-25T12:16:49.033 に答える
0

そのdivを別のdivに入れて、このようにしてみてください

    <div id="my_div"><div id="ant-container" name="text" style="border:1px solid #CCCCCC;height:300px;width:80%;"></div></div>

次に、「my_div」のコンテンツを次のように取得します

var div_contents = $('#my_div').html();
var ides = $('#id').val();
$.post("content.php", { contents:div_contents, id :ides});

場所のスペルを修正してみてください

header("location:annotate.php");

ajax のようなものを使用することをお勧めします

$.ajax({
           type: "POST",
           url: "content.php", 
           data : { 'contents':div_contents, 'id' :ides},
           success: function(result) 
           {     
                alert(result);
           }
});
于 2013-04-25T12:17:04.423 に答える
0

<script src = "http://code.jquery.com/jquery-1.9.1.js"></script>jqueryへの接続に使用し、以下も試してください

<script type="text/javascript">
    $(document).ready(function () {
    var div_contents = $('#ant-container').html();
        var ides = $('#id').val();
        $.post("content.php", { contents:div_contents, id :ides});
    });
</script>
于 2013-04-25T13:07:12.083 に答える
0

私の意見では、いくつかのSQLエラーがあります:

$sql ="UPDATE `antr_essay` SET `annotext`=      {$div},`grade`='$_POST[grade]',`comments`='$_POST[comments]' -> like below .
WHERE id=$id";
$update=$DB->update($sql);
$sql ="UPDATE `antr_essay` 
   SET `annotext`={$div}, -> **this line why not SET `annotext`='{div}'** ?
   `grade`='$_POST[grade]',
    `comments`='$_POST[comments]'
        WHERE id=$id";
   $update=$DB->update($sql);
于 2013-04-25T12:25:48.530 に答える
0

これをバグシューティングする方法は次のとおりです。

1) AJAX が呼び出すページのバージョンを作成し、テスト クエリを実行して、その部分が期待どおりに機能していることを確認します。動作することがわかるまでは、AJAX ではなく、ブラウザ経由でこのページにアクセスすることをお勧めします。他の人が言ったように、エコー、SQL エラー、タイプミスなどの後に php ヘッダーを送信しようとしているために、単に失敗している可能性があります。

2) AJAX が処理することを期待している応答を配信する別のテスト ページを作成します。DIV コンテンツを POST 送信してエコー バックすることを提案します。

2 つが期待どおりに機能するようになったら、それらを組み合わせる必要があります。段階を追って実行し、ある時点で失敗した場合は、原因をよりよく理解できます。

最後に、SQL エラーを処理する機能がないようです。それが原因であるかどうかを確認できるように、いくつか追加することをお勧めします。

于 2013-04-25T12:36:36.823 に答える