Chapters
33 Chapters
|
3:02:08
|
Login to bookmark this video
-
Course Code
Subscribe to download the code!Compatible PHP versions: ^7.2.0
Subscribe to download the code!Compatible PHP versions: ^7.2.0
-
This Video
Subscribe to download the video!
Subscribe to download the video!
-
Subtitles
Subscribe to download the subtitles!
Subscribe to download the subtitles!
-
Course Script
Subscribe to download the script!
Subscribe to download the script!
22.
POSTing to the API Endpoint
Scroll down to the script below, click on any sentence (including terminal blocks) to jump to that spot in the video!
Subscribe to jump to this part in the video!
Keep on Learning!
If you liked what you've learned so far, dive in! Subscribe to get access to this tutorial plus video, code and script downloads.
This tutorial uses an older version of Symfony... but since it's a JavaScript tutorial, the concepts are still ? valid!
What PHP libraries does this tutorial use?
// composer.json
{
"require": {
"php": "^7.2.0",
"symfony/symfony": "3.1.*", // v3.1.10
"twig/twig": "2.10.*", // v2.10.0
"doctrine/orm": "^2.5", // v2.7.1
"doctrine/doctrine-bundle": "^1.6", // 1.10.3
"doctrine/doctrine-cache-bundle": "^1.2", // 1.3.2
"symfony/swiftmailer-bundle": "^2.3", // v2.4.0
"symfony/monolog-bundle": "^2.8", // 2.12.0
"symfony/polyfill-apcu": "^1.0", // v1.2.0
"sensio/distribution-bundle": "^5.0", // v5.0.22
"sensio/framework-extra-bundle": "^3.0.2", // v3.0.16
"incenteev/composer-parameter-handler": "^2.0", // v2.1.2
"friendsofsymfony/user-bundle": "~2.0@dev", // dev-master
"doctrine/doctrine-fixtures-bundle": "~2.3", // v2.4.1
"doctrine/doctrine-migrations-bundle": "^1.2", // v1.2.1
"composer/package-versions-deprecated": "^1.11", // 1.11.99
"friendsofsymfony/jsrouting-bundle": "^1.6" // 1.6.0
},
"require-dev": {
"sensio/generator-bundle": "^3.0", // v3.1.1
"symfony/phpunit-bridge": "^3.0" // v3.1.6
}
}
8 Comments
Hi, following the main ideas of this tutorial I am trying to make my own code, but in my case using a file input type, which gives problem using .serialize and .serializeArray functions. What would be the alternative?
Hey Juan,
I'm not sure about your problem, have you tried to watch our Symfony Uploads course: https://symfonycasts.com/sc... ? I think it might be helpful. Otherwise, if you have some input fields in your form along with the file upload field - probably I'd recommend to split them into 2 different forms: one will hold all the input fields and another one will hold the file upload field. But this way you will need to write an integration code for them so it works as a single form, e.g. upload the file and then return its unique identifier that you will put in the hidden field of the 2nd form.
I hope this helps!
Cheers!
Hello Victor thanks for the idea I may try it. What I see is that. What happened is that JSON.stringify() would not work with a file input. Thanks. I leave this for the record https://stackoverflow.com/q...
Hey Juan,
Ah, I see, it's good to know, thanks for sharing that!
Cheers!
Anyone?
Hi, I have a problem when trying to prepare the form data to serializeArray. My form contains fields that are type select multiple:
$builder->add('vatTypes', EntityType::class, array( 'class' => VatType::class,
'multiple' => true,
...
'attr' => ['class' => 'form-control select2']));
So when I get to:
$.each($form.serializeArray(), function(key, fieldData) {
...
I get "fieldName[]"=3 where 3 is the last selected value, but it is missing all the other options. How can this be done? So the Json can parse the multiple select?
Also, when the form is sent it complains about "The form should not contain extra fields" which I think it is maybe related to this problem, not sure though...
Any guidance will be really appreciated.
Thanks!
Hey Gst I.
Sorry for the late reply. I found a way to get all selected items via JQuery: https://stackoverflow.com/a...
and there is even a pure JS example if you scroll down a little bit.
Here is an example of how to serialize the select data and send it via AJAX: https://stackoverflow.com/a...
About "The form should not contain extra fields" problem, I believe somehow your form contains extra fields when you serialize it, try dumping it and check which fields you are actually passing in.
Cheers!
Thank you Diego, but the problem is that the ajax endpoint is expecting a json encoded string, not serialized data. I think I found a solution, I will write it here in case someone else needs it:
`
handleNewFormSubmit: function(e) {
`
For sure it could be more efficient, but this just works. Thanks!
"Houston: no signs of life"
Start the conversation!