Php 通过jquery POST方法传递字符串
我试图将一个字符串从jQuery传递到我的cakePHP控制器。我想我的帖子中的代码是正确的,但我很难在控制器中检索字符串 jquery代码是: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) {
$('#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
选项卡中测试您收到的内容。