폼의 일부 데이터를 jQuery 컨트롤러에 게시하려고합니다. 하지만 여기서 어려움을 겪고 있습니다.POST 데이터를 jQuery에서 PHP로 보낼 수 없습니다.
입력란이있는 양식과 내 스크립트를 호출하는 버튼이 있습니다.
됩니다 단추
<button onclick="save('layoutstyle');">save</button>
그리고 스크립트
function save(action) {
jQuery("#formTest").submit(function(e) {
e.preventDefault();
var $form = jQuery(this);
var $inputs = $form.find("input, select, button, textarea");
var serializedData = $form.serialize();
$inputs.prop("disabled", true);
jQuery.ajax({
type: 'POST',
// TO DO
url: '/template/templates/nwmadm/controller.php',
data: 'save='+ action+'&data='+ serializedData,
dataType: 'html',
success: function(data) {
jQuery('#content').html(data);
}
});
})
}
그리고 PHP에서 컨트롤러는이
if (isset($_POST["save"])) {
switch ($_POST["save"]) {
case "layoutstyle":
$return = $_POST["data"];
echo $return;
break;
case "surveys":
echo "This is the Surveys site";
break;
default:
echo "Return 404 page not found";
}
}
처럼 보인다하지만 만 받고 있어요 첫 번째 입력을 통해 컨트롤러에 연결하십시오. 그리고 그것은 배열이 아닌 문자열입니다.
어떻게해야합니까? 양식의 모든 입력을 컨트롤러로 배열로 가져 오는 방법은 무엇입니까? JQuery.ajax()
당신이 코드를 사용하는
HTML의 모양은 어떻습니까? –
'var serializedData = $ form.serializeArray();로 변경하면 어떨까요?serializedData.push ({name : "submit", value : action});'jQuery.ajax ({... data : serializedData, ...}); 이 방법은 직렬화 된 배열에'submit'을 추가하고'serializedData'를 통해 모두 전송합니다. – Sean