我在$ this-> request-> data object:
中有一个数组Array ( [Reseller] => Array ( [id] => 1 [name] => Abdus Sattar Bhuiyan [mobile] => 01673050495 [email] => kuet.absb@yahoo.com ) )
所以我想像往常一样访问id:$this->request->data['Reseller']['id'];
但它显示未定义的索引Reseller
。以下工作正常:
$requestData = $this->request->data;
pr($requestData['Reseller']);
给出:
Array
(
[id] => 1
[name] => Abdus Sattar Bhuiyan
[mobile] => 01673050495
[email] => kuet.absb@yahoo.com
)
当我尝试通过pr($ requestData ['经销商'] [' id'])再次显示ID时;它再次显示未定义的索引Reseller
。以下再次工作:
$ data = $ requestData ['经销商'];
PR($数据[' ID']);
我的pr()函数是:
function pr($data){
echo '<pre>'; print_r($data); echo '</pre>';
}
我的完整php代码:
function changePersonalInfo() {
$this->layout = 'ajax';
$this->render('nothing');
$this->loadModel('Reseller');
$requestData =$this->request->data;
$data = $requestData['Reseller'];
pr($data['id']); exit;
$this->Reseller->id = $this->request->data['Reseller']['id'];
$this->Reseller->save($this->request->data['Reseller']);
$msg = ' <div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Chanes Saved</strong>
</div>';
$return['msg'] = $msg;
$reseller = $this->Reseller->findById($this->Reseller->id);
$return['reseller'] = $reseller['Reseller'];
$result = json_encode($return);
echo $result;
}
很奇怪!请求的数据由ajax请求发布,如下所示:
function saveData(formid, processUrl, updateSection) {
$(formid).submit(function (event) {
event.preventDefault();
// Abort any pending request
var fields = "input, select, button, textarea";
var $form = $(this);
var $inputs = $form.find(fields);
var serializedData = $form.serialize();
$inputs.prop("disabled", true);
var request = $.ajax({
url: processUrl,
dataType: 'json',
type: "post",
data: serializedData
});
// Callback handler that will be called on failure
request.fail(function (jqXHR, textStatus, errorThrown) {
console.log(
"The following error occurred: " +
textStatus, errorThrown
);
});
request.always(function () {
// Reenable the inputs
$inputs.prop("disabled", false);
});
request.done(function (response, textStatus, jqXHR) {
$(updateSection+' .bubblingG').fadeOut(2000,function(){
$(updateSection).before(response.msg);
if(updateSection == "#personalInfo"){
$('#avatar #ResellerEmail').val(response.reseller.email);
}
});//({visibility: 'hidden'}, 2000, 'linear');//css("visibility", "hidden");
});
// Prevent default posting of form
// event.preventDefault();
});
}
这个问题让我哭了。任何帮助将不胜感激。