从jquery.ajax发布时清空$ _POST

时间:2013-10-01 09:39:45

标签: javascript php jquery ajax

我正在学校为我的项目做一些添加,编辑和删除。添加模块中的代码运行良好,实际上我添加了很少的记录。然后,这里出现了编辑模块,起初非常好,从添加模块中使用了类似的代码。但是当我尝试尝试时,编辑模块中的帖子是空的。

这是我的编辑代码:

$(".careersEdit").click(function () {
    var careersTableSelect = encodeURIComponent($("input:radio[name=careersTableSelect]:checked").val());
    if (careersTableSelect > 0) {
        $(".careersEditForm_load").show();
        $(".careersEditForm_error").hide();
        $(".careersEditForm").hide();
        var dataStringCareersEdit = 'careersTableSelect=' + careersTableSelect;
        $.ajax({
            type: "POST",
            url: "admin/careers/process/careersEditGet.php",
            data: dataStringCareersEdit,
            beforeSend: function(){
                alert(dataStringCareersEdit);
            },
            success: function () {
                setTimeout("", 5000);
                fetchResult();
            },
            error: function () {
                alert("Post Error");
            }
        });
        function fetchResult() {
            $.ajax({
                url: "admin/careers/process/careersEditGet.php",
                type: "POST",
                dataType: "json",
                success: function (result) {
                    if (result) {
                        $("input#careersEditPosition").val(result['position']);
                        $("input#careersEditCompany").val(result['company']);
                        $("input#careersEditLocation").val(result['location']);
                        $(".careersEditForm_load").hide();
                        $(".careersEditForm").show();
                    }
                },
                error: function () {
                    alert("Fetch Error");
                }
            });
        }
    } else {
        $(".careersEditForm").hide();
        $(".careersEditForm_load").hide();
        $(".careersEditForm_error").show();

    }
});

这是careersEditGet.php:

<?php
include('connect.php');
error_reporting(0);
$careersTableSelect = $_POST['careersTableSelect'];
//$careersTableSelect = $careersTableSelect + 1;
//echo $careersTableSelect;
$query = "SELECT * FROM atsdatabase.admincareers WHERE refNum ='" . $careersTableSelect . "' LIMIT 0 , 30";
$runQuery = mysql_query($query);
if (!$runQuery) {
    die('Could not enter data: ' . mysql_error());
}
$result = mysql_fetch_row($runQuery);
$array = array(
    'position' => "" . $result[1] . "",
    'company' => "" . $result[2] . "",
    'location' => "" . $result[3] . "",
);
echo json_encode($array);
mysql_close($connection);

&GT;

是的,代码是丑陋/错误/废话,我对jquery的东西很新,大约3-4天。对那些有帮助的人,请纠正我。我想学习这个jquery ajax的东西。格拉西亚斯

4 个答案:

答案 0 :(得分:1)

也许尝试以更常见的方式传递数据:

变化

data: dataStringCareersEdit,

data: { "careersTableSelect" : careersTableSelect },

答案 1 :(得分:0)

拨打ajax功能一次,

$.ajax({
    url: "admin/careers/process/careersEditGet.php",
    type: "POST",
    dataType: "json",
    data: {careersTableSelect: careersTableSelect},
    success: function (result) {
       if (result) {
          $("input#careersEditPosition").val(result.position);// json not array
          $("input#careersEditCompany").val(result.company);// json not array
          $("input#careersEditLocation").val(result.location);// json not array
          $(".careersEditForm_load").hide();
          $(".careersEditForm").show();
       }
    },
    error: function () {
       alert("Fetch Error");
    }
});

答案 2 :(得分:0)

感谢各位回答这个问题的所有努力,我咨询了一位网络开发人员的朋友,教我如何在jquery中正确使用ajax。 ;)

答案 3 :(得分:-1)

当您从jQuery.Ajax发布数据时,您正在做一些根本错误的事情。 数据应该是一个对象,键应该是服务器端POST变量的名称,稍后将在PHP中使用... 示例:

data : {"server_side_vriable" : "Your_data_to_Post" }

...

var dataStringCareersEdit = 'careersTableSelect=' + careersTableSelect + "&careersTableSelect=" + careersTableSelect;
            $.ajax({
                type: "POST",
                url: "admin/careers/process/careersEditGet.php",
                data: {"careersTableSelect" : dataStringCareersEdit},
                beforeSend: alert(dataStringCareersEdit),
                success: function () {
                    alert("Fetching Result");
                    setTimeout("", 3000);
                    $.ajax({
                        url: "admin/careers/process/careersEditGet.php",
                        type: "GET",
                        dataType: "json",
                        success: function (result) {
                            if (result) {
                                $("input#careersEditPosition").val(result['position']);
                                $("input#careersEditCompany").val(result['company']);
                                $("input#careersEditLocation").val(result['location']);
                                $(".careersEditForm_load").hide();
                                $(".careersEditForm").show();
                            }
                        },
                        error: function () {
                            alert("Fetch Error");
                        }
                    });
                },
                error: function () {
                    alert("Post Error");
                }
            });