嗨,当我从ajax调用控制器中的动作时,我收到以下错误。
未定义的索引:值。
这是我在Document Ready中的代码
唯一的功能是创建独特元素的数组。
var modules =[];
var action = [];
var max_limit=[];
var details ={};
$(".btn-small").click(function()
{
modules = unique(modules);
action = unique(action);
limit = unique(limit);
details['id'] = id;
details['cost'] = sum;
details['modules'] = modules;
details['action'] = action;
details['limit'] = limit;
jsonString = JSON.stringify(details);
$.ajax({
url: "<?php echo Yii::app()->createUrl('/xxxxxxxx/actionDemo'); ?>",
data: {'value':jsonString },
type: 'post',
dataType:'json',
success: function() {
alert("st");
},
error: function(){
alert("Error: Could not delete");
}
});
这是我在Controller中的代码:
public function actionDemo() {
$val = $_POST['value'];
var_dump($val);
die();
}
答案 0 :(得分:0)
这意味着&#34;价值&#34;不在你发布数据。尝试转储你的POST,看看发生了什么。
这可能是因为您发送的是JSON,因此POST将包含JSON而不是数组。
答案 1 :(得分:-1)
我认为这会对你有帮助,
如果要将JSON
发送到服务器端,则需要在AJAX请求中指定contentType
。 dataType:'json'
表示您对服务器的期望是什么样的。
否则您可以直接在AJAX中传递"data: {'value':details},"
而无需转换为JSON。