를 호출하고 컨트롤러 메소드 호출 이벤트에 일부 데이터를 전달하고 내 jQuery를 아약스 호출이문제는 내가 YII을 사용하고 좋아
var objectToSend = { "categories" : [selectedOption],"datefrom" : month + "" + year , "dateto" : month + "" + year};
$.ajax({
url: '<?php echo Yii::app()->createUrl('calendar/events'); ?>',
type: "POST",
data: objectToSend,
success: function(data) {
console.log(data);
},
error: function() {
console.log('failed');
}
});
과 같은 필요가 아약스 그래서 내가 이벤트 메서드에 의해 "캐치"될 일정/이벤트에 데이터를 보내고 일부 DB 가져 오기 작업을 수행하고 데이터를 jQuery uppo 성공으로 가져 오는 것입니다. 문제는 필자가 항상 오류를 기록하고이를 수행 할 때 콘솔에 메시지 (실패)가 표시된다는 것입니다. 나는 컨트롤러 메소드에서 빈 문자열을 얻었는데 이상하게 들린다. 난 그냥, 거기에 간단한 코드와 그것을 밖으로 테스트입니다 것은 내가 문제를 추측하고이
public function actionEvents()
{
$data = json_decode(Yii::app()->request->getPost('data'),true); // assoc array is returned if second param is true
echo json_encode($data);
Yii::app()->end();
}
처럼 보인다는하지만 {JSON 데이터로, 데이터 = {여기에 JSON 데이터}없이 방법으로 전송 데이터 객체에있다 여기}에서 "data ="부분없이. 어떻게 생각해? 내가 "접두사"데이터 개체를 PHP 파일에 보낼 수있는 방법이 있나요 "데이터 ="여하튼? 모든 도움을 주셔서 감사합니다.
을 당신이 JQuery와 가진 형태를 직렬화 할 때 발생하는 것과 유사한 배열을 사용할 수 같아요
내 생각 엔 아마 당신은 당신의 데이터를
json_decode
그냥 직접 POST 변수를 사용하지 않는다는 것입니다 그래서 당신은 보내는 정보에 "데이터"이름을 설정할 수 있습니다. 파이어 버그 (firebug)를 사용하여 정확하게 서버에 무엇을 보내고 있는지 확인하십시오. – Naryl오류가 발생하면 데이터를 로깅 할 때 "null"이 반환됩니다. – Novica89
POST가 메소드에 전송 된 것은 "categories % 5B % 5D = 이벤트 용 테스트 카테고리 & datefrom = 82013 & dateto = 82013" – Novica89