0
JQuery의 양식 플러그인을 사용하고 있습니다.cakePHP에서 JQuery Form Plugin을 통해 제출 된 데이터 가져 오기
cakephp 컨트롤러에 게시 된 값을 얻으려면 어떻게해야합니까?
내 코드는 다음과 같다 :
<?php echo $form->create('Result',array('action'=>'submit'));?>
//some input text fields,texarea fields
<?php echo $form->end('submit');?>
<script>
$(document).ready(function(){
var options = {
beforeSubmit: showRequest, // pre-submit callback
success: showResponse, // post-submit callback
url: "http://localhost/cake_1.2.1.8004/index.php/results/submit1",
type: 'POST',
resetForm: true // reset the form after successful submit
};
$('#ResultSubmit1Form').submit(function() {
$(this).ajaxSubmit(options);
return false;
});
});//ready
// pre-submit callback
function showRequest(formData, jqForm, options) {
var queryString = $.param(formData);
alert('About to submit: \n\n' + queryString);
$.ajax({
type: "POST",
url: "http://localhost/cake_1.2.1.8004/index.php/results/submit1",
data: "str="+queryString,
success: function(msg){
alert("Data Saved: " + msg);
}
});
return true;
}
// post-submit callback
function showResponse(responseText, statusText) {
alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
'\n\nThe output div should have already been updated with the responseText.');
}
</script>
그리고 내 CakePHP의 컨트롤러에서
: 그것은 단지_method=POST
대신
_method=POST&name=x&age=22
의를 표시하는 것
<?php
class ResultsController extends AppController
{
var $name = 'Results';
var $helpers=array('Html','Ajax','Javascript','Form');
var $components = array('RequestHandler','Email');
var $uses=array('Form','User','Attribute','Result');
function submit($id = null) {
$str=$_POST['str'];
echo "POSTED value ".$str;
}
}
.
그러나 $_POST['Name'];
(여기서 Name
은 입력 필드 1의 name
속성입니다.) 입력란 1에 입력 한 x가 표시됩니다.
내가 원하는 것을 어떻게 얻을 수 있습니까?
예하지만이 값을 직접 게시해야합니다. $ _POST [ 'fom'] [ 'Name'] 값을 얻지 않고 컨트롤러가 모든 필드가 페이지에 있는지 알지 못합니다. 양식은 각 양식에 다른 필드를 포함 할 수 있습니다 ... – useranon
나는 당신이 말하는 것을 이해하지 못합니다. 모든 게시 된 값은 $ this-> params로 이동하고 적절히 이름이 지정된 입력 필드는 $ this-> data로 이동합니다. 그 플러그인은 실제로 브라우저에서 컨트롤러로 POST 요청을 보내고 폼을 처리하게됩니다. – zam3858
게시 된 데이터에 액세스하는 방법을 알려주십시오. echo $ _POST [ 'str'];로 시도했습니다. 나는 echo http_build_query ($ _ POST [ 'str']);로 시도했다. echo http_build_str ($ _ POST [ 'str']); 하지만 대답은 오지 않을거야. 내 str 값은 name = a & age = 22이다. – useranon