Php 通过jquery POST方法传递字符串

Php 通过jquery POST方法传递字符串,php,jquery,cakephp,Php,Jquery,Cakephp,我试图将一个字符串从jQuery传递到我的cakePHP控制器。我想我的帖子中的代码是正确的,但我很难在控制器中检索字符串 jquery代码是: $('#Button1').click(function() { var dataString = 'tdata'; $.post('http://atvcloud2.athtem.eei.ericsson.se/Configs', {data: dataString} , function(data) {

我试图将一个字符串从jQuery传递到我的cakePHP控制器。我想我的帖子中的代码是正确的,但我很难在控制器中检索字符串

jquery代码是:

$('#Button1').click(function() 
{       
    var dataString = 'tdata';

    $.post('http://atvcloud2.athtem.eei.ericsson.se/Configs', {data: dataString} , function(data) 
    {
         alert(data);
    });

});
我试图在控制器中检索,如下所示:

$data = $_POST['Model']['data'];

但我一直在说未定义的索引模型时出错。提前为任何帮助干杯。

模型应该来自哪里

您正在访问
$\u POST
超全局,其键是提交数据的键

$_POST['data']

可以使用以下代码执行相同操作:

$('#Button1').click(function() 
    {       
            var dataString = 'tdata';
            $.ajax({
                url: "http://atvcloud2.athtem.eei.ericsson.se/Configs",
                type: 'post',
                data: {
                    myInput: dataString
                    },
                beforeSend: function(xhr){
                },
                success: function( data ) {
                }
            });

    });
在控制器中,您可以通过以下方式访问:

$this->request->data('myInput'); //myInput is your query string variable that you passed via ajax.

Model是我的MVC视图中表单的名称。当我输入代码时,它会返回一组复选框值,这些值是我在表单上的值,而不是我想要的字符串。@IanEllis–听起来你是在看向PHP提交表单的结果,而不是你有问题的Ajax请求。最好的猜测是#button1是一个提交按钮。你没有阻止它提交表单,因此,在浏览器停止运行JS并离开页面提交表单之前,Ajax请求可能会被发送,也可能不会被发送。是的,我认为这就是我在成功提交表单时犯的错误,在控制器中,我希望接收数据并在写入数据库之前对其进行处理。我显然是用错误的方式做的。有什么建议吗?你使用的是什么cakephp版本?是的,但正如@Quentin在上面所说的,我正在提交这个按钮上的表单,所以当我这样做时,它给了我错误的数据,所以我想知道如何在控制器中检索这些数据而不提交?是的,我收到了相同的错误通知(8):未定义索引:myInput[APP/Controller/ConfigsController.php,第16行]现在它不会给出任何错误,但当我尝试pr($this->request->data('myInput'))时;它不会打印任何内容。请在firebug控制台中检查它,并在
Post
选项卡中测试您收到的内容。