5

我有 1 个 php 文件名 index.php。在该文件中,我想将一个变量从 ajax 传递给 php。

var elem = document.getElementById("mydiv").value;
(function($)
{
    $(document).ready(function()
    {   
        $.ajax(
        {   
            type:"POST",
            url: window.location.href,
            data: 'action='+elem,
            beforeSend: function() {
                $('#cctv').hide();
            },
            complete: function() {
                $('#cctv').show();
            },
            success: function() {
                $('#cctv').show();
            }
        });
        var $container = $("body");
        $container.load('findAllPath.php',{'function': 'findAllPath'});
        var refreshId = setInterval(function()
        {
            $container.load('findAllPath.php',{'function': 'findAllPath'});
        }, 10000);
    });
})(jQuery); 

和我的 php

if (isset ($_POST['action']))
{   
    echo $_POST['action'];
}

在萤火虫中,我可以看到 ajax 已经发布了 'action=value' 但在 php 中,$_POST['action'] 是空的。任何人都可以帮助我,我的代码有什么问题?谢谢你

4

4 回答 4

4

尝试使用这样的数据

data: {action: elem},

例如

$.ajax({
   type: "POST",
   url: "some.php",
   data: { name: "John", action: "save" }
   }).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

printr whole $_REQUEST 并检查您是否正在采取行动

于 2013-03-19T09:44:18.433 回答
1

将此设置为 json 对象:

data: {action: elem}

并且不要将 jquery 与纯 js 混合使用。

var elem = $('#myDiv').val();

正如上面的朋友所说。可能会出现 js 在整个页面加载之前尝试获取 value 属性的情况。您应该在文档就绪块中执行所有操作。

你也可以这样做:

data: {
action: $('#myDiv').val()
}

您将确定您在表格上拥有最新的数据!

于 2013-03-19T09:42:41.143 回答
1

看看这个,找到你错过的东西

    $.ajax({
        type: "POST",
        url: "some.php",
        data: { action: elem}
        beforeSend: function() {
            $('#cctv').hide();
        },
        complete: function() {
            $('#cctv').show();
        },
        success: function() {
            $('#cctv').show();
        }
    });
    var $container = $("body");
    $container.load('findAllPath.php',{'function': 'findAllPath'});
    var refreshId = setInterval(function()
    {
        $container.load('findAllPath.php',{'function': 'findAllPath'});
    }, 10000);
});
于 2013-03-19T09:59:24.247 回答
0
if (!empty($_POST['action']))
{   
echo $_POST['action'];
}

试试这个代码...

于 2013-03-19T11:16:13.450 回答