Ik ben met een API maken voor een project dat ik heb. Om de basis te zetten probeer ik een simpele request uit te voeren. Dit doe ik door middel van AJAX en Laravel 4.2. Echter kamp ik nu met wat issues. De applicatie staat op app.moldersmedia.nl. De juiste URL voor de request is: http://app.moldersmedia.nl/api/key/value/license.json
Ik heb lokaal 2 domeinen: default.dev en app.dev. Op app.dev draait de API en op default.dev probeer ik data te ontvangen van de app.dev in json. Lokaal werkt dit prima, maar zodra ik data wil ontvangen van de live omgeving krijg ik wel mijn json string te zien, maar met heel veel HTML erbij en de melding "parse error" unexpected >. Dit is logisch want er zit HTML bij. Kan iemand mij uitleggen waar het fout gaat met mijn code? Het laatste stukje HTML kan je in een document plaatsen, deze geeft de console errors terug.
Server bestanden online:
.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
</IfModule>
Controller:
public function license($value)
{
$array = ['test' => 'Nummer oneindigt'];
return json_encode($array);
}
CODE OM AJAX REQUEST UIT TE VOEREN:
<html>
<head>
<title>Test API Function</title>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<script>
$site = "http://app.moldersmedia.nl/api/key/value/license.json";
// $site = "http://app.dev/api/key/value/license.json";
$(document).ready(function() {
$.ajax({
url: $site,
crossDomain: true,
data: 'my_request_is=foo',
method: 'GET',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function(json){
alert('Request is geslaagd')
},
error: function(jqxhr, textStatus, error){
console.log(jqxhr);
console.log(textStatus);
console.log(error);
}
});
});
</script>
</body>
</html>