jQuery Ajax Post,将它们添加到数据库,返回数据并再次重复该过程

Posted

技术标签:

【中文标题】jQuery Ajax Post,将它们添加到数据库,返回数据并再次重复该过程【英文标题】:jQuery Ajax Post, Add them to DB, Return Data and repeat the Process again 【发布时间】:2013-11-18 01:11:45 【问题描述】:

我完全糊涂了,所以请把逻辑解释清楚一点。

在这里我从 db 获取数据。

index.php


    $sorular_hepsi = mysql_query("select * from tblsorular where hafta=1 order by rand() limit 2");
    $soru_ust = mysql_fetch_assoc($sorular_hepsi);
    $soru_id = $soru_ust_rs["id"];
    $soru_grup_id = $soru_ust["sId"];

    $soru1 = $soru_ust["soru"];

    $sorular = mysql_query("select * from tblsorular where sId=$soru_grup_id");
    $totalKayit = mysql_num_rows($sorular_rs);

    while ( $sorular_rs=mysql_fetch_assoc($sorular)) 
        $sorular2[] = $sorular_rs["soru"];
        $sorular2Id[] = $sorular_rs["id"];
    

$userId = 1234;

这是index.php中列出的对象

    <div id="sorugonder" class="soruStyle">
        <a href="#" class="sorugonder" id="<?=$sorular2Id[0]?>"><?=$sorular2[0]?></a>
    </div>

    <div id="soru_sag" class="soruStyle">
        <a href="#" class="sorugonder2" id="<?=$sorular2Id[1]?>"><?=$sorular2[1]?></a>
    </div>

这是我的 ajax 函数,用于将我的数据发送到 islem.php

$(function() 
    $(".sorugonder").click(function() 
    // $('#load').fadeIn();
    var commentContainer = $(this).parent();

    var id = $(this).attr("id");
    var string = 'id='+ id ;

    $.ajax(
       type: "POST",
       url: "islem.php?islem=soruKayit",
       data: string,
       cache: false,

       success: function(data)

       commentContainer.slideUp('slow', function() $(this).remove(););
             $('#sorugonder').fadeOut(1000);
             $('#soru_sag').fadeOut(2000);

             console.log(string);
             // alert(id);
            
        );

        return false;

    );
);

这个函数打印控制台日志为id=xx

这是我的 islem.php 页面,用于获取 ajax 数据

if(isset($_POST["islem"]) && $_POST["islem"]=="soruKayit")

    header('Content-type: application/json');

    $id= $_POST['string'];
    $cevapTarihi = date("d-m-Y H:i:s");

    $cevapId = json_encode($id);
    $userId = 1234;

     $kayit = @mysql_query("INSERT INTO tblk_skor VALUES(NULL, $userId,$cevapId,$cevapTarihi)");

        if(!$kayit)
                echo "Error:".mysql_error();
        

        die();

   

我有 4 张不同的 png 图片,我将它们用作背景。例如:

$1 = '<img src="../img/1.png" />';
$2 = '<img src="../img/2.png" />';
$3 = '<img src="../img/3.png" />';
$4 = '<img src="../img/4.png" />';

我在每个后期处理中更改了我列出的数据背景。但我无法弄清楚我必须如何以及将它们放在哪里?

$.ajax 函数不会将我的数据发送到 islem.php 或者我无法获取它。

简单地说:

    我想将我的记录添加到数据库中(只是 id ) 我必须执行回调函数以对 10 条不同的记录重复此过程 10 次。 完成这 10rec 后,我将计算结果并重定向到另一个页面。 每个发布步骤都更改背景。 倒计时!我必须将倒计时放入一个 div 中,以便用户在 10 秒内点击它。否则我必须执行另一个错误函数来重新开始这一切。我找不到合适的倒计时脚本来演示我的功能。

就这个。

有什么建议吗?

【问题讨论】:

【参考方案1】:

ajax 中的data 选项应该包含您要发送到服务器的数据。

$.ajax(
   type: "POST",
   url: "islem.php",
   data: [ name:'islem', value:'soruKayit' ,
           name:'id', value:id ],
   cache: false,
   ....

【讨论】:

以上是关于jQuery Ajax Post,将它们添加到数据库,返回数据并再次重复该过程的主要内容,如果未能解决你的问题,请参考以下文章

jQuery post ajax函数[重复]

POST 请求无法使用 JQuery AJAX

使用带有 mvc 的 jQuery 数据表服务器端处理。序列化条件表单并将此参数添加到 $ajax.post 方法

Ajax 使用 POST 方法发送数据,但 PHP 函数不会将它们插入到表中

JQuery $.ajax() post - java servlet 中的数据

jQuery $.ajax(), $.post 在 Firefox 中将“OPTIONS”作为 REQUEST_METHOD 发送