Right I understand all that, thanks.
My question is more about why Cake is changing 1 of the forms to PUT when it's set as POST.
All forms are created using the Html helper, all forms have the same 1 hidden input which all show up with _method = post in the hidden div on all form, all run thru the same jQuery submit function yet 1 form somehow is getting converted to PUT.
I have deleted records so there is no existing record to PUT so it should be POST, no matter what this 1 form will not accept POST.
There must be 50 forms / users / admin to add edit data and all use the same function, same js, all have the 1 hidden field, all go to POST except 1 form. This is what puzzles me since it is just the one form. Not so much the functionality of the POST vs PUT but rather why just this 1 form.
Thanks,
Dave
From: cake-php@googlegroups.com [mailto:cake-php@googlegroups.com] On Behalf Of André Luis
Sent: Tuesday, May 07, 2013 4:06 PM
To: cake-php@googlegroups.com
Subject: Re: POST form changes to PUT
The "PUT" method is when you are updating something, but cake doesnt really uses the put method, but a hidden field with "PUT" as value... So when you have a populated data, even if you´re not updating but creating, it will recognize as PUT
But both methods will get submited as well, and will have the same data structure, so you can work with both "PUT" or "POST" method the same way, all you need to do is to check not only if the request is "post" but also check if the request is "put"
Em segunda-feira, 6 de maio de 2013 15h47min55s UTC-3, advantage+ escreveu:
Running into a weird issue where my form as rendered the HTML shows:
<form id="EditProfile" class="form-horizontal" accept-charset="utf-8" method="post" action="/manage/profile">
This form is submitted using ajax and the function is used by many forms thru the site:
$.ajax({
type: "POST",
url: $(sel).attr('action'),
data: $(sel).formSerialize(),
dataType: 'json',
And in the controller I have if($this->request->is('ajax') && ($this->request->is('post'))
But it fails on this 1 form because for some reason it is changing to PUT.
Are there reason why this would be happening? I looked at a few of my forms using this js function and all of the forms and all are set up the exact same way / Form->helper standard inputs / selects.
I even added into the form with issues 'method' => 'POST' (upper and lower) but it still fires off a PUT request. Renders as POST but inspecting the request shows:
application/x-www-form-urlencoded
_methodPUT
Ideas would be welcome.
--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment