ホームページ >バックエンド開発 >PHPチュートリアル >ajaxクロスドメインポストメソッド

ajaxクロスドメインポストメソッド

WBOY
WBOYオリジナル
2016-07-28 08:28:131156ブラウズ

前回のブログでは、ajaxgetjsonp クロスドメイン メソッドについて説明しました。post メソッドがデータを送信し、バックエンドがそれを受け入れる点に注意する必要があります。

まず、Ajax コードに直接移動します:

$(document).ready(function() {
    $('#submit1').click(function(){
        var data = new FormData($("#form1")[0]); //$("form").serializeArray();
        //formData = new FormData(data);
data.append("serect", 12324234);
        console.log(data);
        $.ajax({
            type:"POST",
            url:"http://test/fuck",
            data: data,
            crossDomain: true,
            contentType: false,  
            processData: false,
            dataType: 'json',
            success:function(data) {
               
            }
        });
        return false;
    });
この行に crossDomain: true を追加する必要があることに注意してください。そうしないと、エラーが報告され、そのエラーをクロスさせることになります。サーバーは cros で設定する必要があります。 laravelフレームワーク 私はバックエンドをやっているので、いくつか変更する必要があります。

1 つ目は、エントリー ファイル内のクロス コードを次のように設定することです:

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
$response->header('Access-Control-Allow-Origin', '*')
    ->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE')
    ->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Origin')->send();

$kernel->terminate($request, $response);
2 つ目は、kernel.php でトークン検証をオフにすることです。そうしないと、受信側でエラーが報告されます:

AppHttpMiddlewareVerifyCsrfToken::class,

以下はサーバー側のphpコードです​​


public function fun(Request $request){
後ほど追加します


以上、ajax のクロスドメイン投稿方法を内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。