gpt4 book ai didi

php - cakephp、jquery、.ajax()

转载 作者:行者123 更新时间:2023-12-01 06:04:05 26 4
gpt4 key购买 nike

我一直在通过 ajax POST 函数检索发送的变量。你能帮我一下吗?

我的 Jquery 代码:

$.ajaxSetup ({
cache: false
});

var selected = new Array();
$(document).ready(function() {
$('.value').click(function () {
if($(this).hasClass('strong'))
{
selected.splice(selected.indexOf(this.innerHTML), 1);
submitData(selected);
$(this).removeClass('strong');
}
else
{
selected.push(this.innerHTML);
submitData(selected);
$(this).addClass('strong')
}
});
});

function submitData(arDat) {
var arrayData = {"param1" : JSON.stringify(arDat)};

$.ajax({
type: 'POST',
url: 'http://localhost.local/coconut/trunk/challenges/values',
data: arrayData,
dataType: 'json',
success: function(data){
console.log(arrayData);
},
error: function(message){
alert(message);
}
});
}

我的CakePHP Controller 功能:

function values() {
if ($this->RequestHandler->isAjax()) {
$this->autoRender = false;
Configure::write('debug', 0);
$params = json_decode($_POST['param1']);
//$result = json_encode($params);
$this->set('submitValue', $params);
} else {
$this->redirect(array('controller' => 'challenges', 'action' => 'index'));
}
}

在 view.ctp 文件中:

<?php debug($submitValue); ?>

但是我收到以下错误:注意(8): undefined variable :submitValue

在 Firebug 中我看到这个:

Parametersapplication/x-www-form-urlencoded
param1 ["Business","Life","Health"]
Source
param1=%5B%22Business%22%2C%22Life%22%2C%22Health%22%5D

有人知道我做错了什么吗?

谢谢!

编辑:

关于我想要什么的更多说明..我想使用 $this->set('submitValue', $params); (所以 $submitValue)在另一个 View 的其他地方。

最佳答案

CakePHP 函数“isAjax()”检查请求是否是原型(prototype) Ajax 请求。

您没有使用 Prototype,而是使用 jQuery - 所以大概它总是返回 false,因此永远不会设置 SubmitValue。

关于php - cakephp、jquery、.ajax(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com