CrossDomain POST met jQuery & Laravel 4.2

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donny Wie weet

Donny Wie weet

08/10/2015 23:15:23
Quote Anchor link
Hi all,

Ik wil een post maken van 1 website naar een andere. Ik krijg de error:
XMLHttpRequest cannot load http://development.dev/test_post. Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers.


Ik heb voor jQuery de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script>
    $(document).ready(function(){
        $('input[type="submit"]').click(function(e){
            e.preventDefault();
            $form = $(this).closest('form');
            var data = $form.serialize();

            $.ajax({
                type: 'POST',
                url: 'http://development.dev/test_post',
                crossDomain: true,
                data: '{"some":"json"}',
                dataType: 'json',
                success: function(responseData, textStatus, jqXHR) {
                    var value = responseData.someKey;
                },
                error: function (responseData, textStatus, errorThrown) {
                    alert('POST failed.');
                }
            });
        });
    });
</script>


Voor mn .htaccess wil ik alles toestaan om zeker ervan te zijn dat er iets aan data binnen komt. Mijn htaccess:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<IfModule mod_headers.c>
     Header set Access-Control-Allow-Origin "*"
     Header set Access-Control-Allow-Methods "GET, PUT, POST, DELETE, OPTIONS"
     Header set Access-Control-Allow-Headers "Content-Type, Content-Range, Content-Disposition, Content-Description"
</IfModule>


Als laatste mn PHP afhandling:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Route::post('test_post', function(){

    return 'Hello';
});


Voor degene die onbekend zijn met laravel: dit is hetzelfde als dat je een post doet naar www.domein.nl/upload.php en bij symfony in de YAML file (als het goed is) zet.
Gewijzigd op 08/10/2015 23:18:12 door Donny Wie weet
 
PHP hulp

PHP hulp

20/04/2024 01:45:34
 
Ben van Velzen

Ben van Velzen

08/10/2015 23:19:04
Quote Anchor link
X-Requested-With staat niet in je Access-Control-Allow-Headers.
 
Donny Wie weet

Donny Wie weet

08/10/2015 23:36:16
Quote Anchor link
Dankje ben, dat was inderdaad het issue :) Ik krijg nu alleen nog een parsing issue: Unexpected token s

Heeft iemand een idee waaraan dat kan liggen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<script>
    $(document).ready(function(){
        $('input[type="submit"]').click(function(e){
            e.preventDefault();
            $form = $(this).closest('form');
            $data = $form.serialize();

            $.ajax({
                type: 'POST',
                url: 'http://mm.dev/test_post',
                crossDomain: true,
                data: "{}",
                dataType: 'json',
                success: function(responseData, textStatus, jqXHR) {
                    console.log('Gelukt!')
                },
                error: function (responseData, textStatus, errorThrown) {
                    console.log('Fail');
                    console.log(responseData)
                    console.log(textStatus)
                    console.log(errorThrown)
                }
            });
        });
    });
</script>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.