Die Laravel-API gibt Daten zur Lösung domänenübergreifender Probleme mit JSONP und Post-Anfragen zurück
我想大声告诉你
我想大声告诉你 2017-05-16 16:55:53
0
2
876

In der Backend-Dingo/API-Schnittstelle

Routenführung

$api = app('api.router');
$api->version('v1', function ($api) {
    $api->get('products','Api\V1\ProductController@index');   
});

Controller ProductController

public function index()
    {
        return Product::all();
    }

Besuchen Sie http://001.com/api/products

Die Daten lauten wie folgt

{"products":[{"id":1,"name":"\u5c0f\u9ec4\u74dc","price":"11.21","sort":0,"status":0,"created_at":"2015-08-03 16:15:07","updated_at":"2015-08-03 16:58:01","b_price":"11.21","no":"001","number":100},{"id":3,"name":"\u897f\u7ea2\u67ff","price":"3.22","sort":0,"status":0,"created_at":"2015-08-03 16:59:34","updated_at":"2015-08-03 16:59:34","b_price":"3.22","no":"003","number":100},{"id":39,"name":"\u4e1d\u74dc","price":"10.00","sort":0,"status":0,"created_at":"2015-08-03 18:30:05","updated_at":"2015-08-03 18:30:05","b_price":"10.00","no":"100","number":1000}]}

Die Rezeption der externen Site fordert Zugriff auf die API-Schnittstelle an

$.ajax({
        type: 'get',
        url: 'http://001.com/api/products',
        dataType : 'jsonp',
        jsonp:"jsoncallback",
        success: function(data){
              console.log(data);
        },
        error: function(){

            alert('500 error!')
        }
    });

Das Ergebnis war ein Fehler und wurde ausgeführt alert('500 error!')

Sind die zurückgegebenen Daten korrekt?

Die Daten wurden abgefragt. Wie werden die korrekten Daten zurückgegeben?

Denn als die Rezeption die Anfrage stellte, meldete der Browser folgenden Fehler:

Uncaught SyntaxError: Unexpected token :

Hat jemand eine Anleitung?

Der Browser gibt Folgendes zurück, bis das JSONP-Format vorliegt, oder?

Wenn es nicht dem JSONP-Format entspricht

Dann

dingo/api

https://github.com/dingo/api/wiki/Creating-API-Endpoints

So erreichen Sie eine Cross-Site-Request-API

CSRF-Token ist geschlossen

我想大声告诉你
我想大声告诉你

Antworte allen(2)
曾经蜡笔没有小新

把csrf token关了
http://www.cnblogs.com/HD/p/4555369.html

Ty80
php//没用过dingo/api,不过应该差不多
$.ajax({
        type: 'get',
        url: 'http://001.com/api/products?callback=?',
        dataType : 'jsonp',
        jsonp:"jsoncallback",
        success: function(data){
              console.log(data);
        },
        error: function(){

            alert('500 error!')
        }
    });
public function index()
    {
        $callback = Request::input('callback');
        $result = Product::all();
        return $callback($result);//结构为'callback({"products":[]})'
    }
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage