2017-02-03 5 views
1

私はAzure WebアプリケーションでホストされているLaravel 5.3アプリケーションでPUT要求を送信しています。しかし、遅延応答504(ゲートウェイタイムアウト)が届きます。それはPOSTman(クロムエクステンション)に取り組んでいる間。AzureでホストされているLaravel 5.3でAngular Put要求が動作しない

これは私の角度コードです:私も&をPUT処理するために、セットアップweb.configファイルを持って1分後に

put : function (id, params) { 
    params.api_token = TOKEN; 
    return $http.put(url+'/lead/'+id, params); 
}, 

そして、これは私に504(ゲートウェイタイムアウト)を与えるだろうランニング DELETE。 hereを詳しく説明します。

<handlers> 
    <remove name="PHP54_via_FastCGI" /> 
    <add name="PHP54_via_FastCGI" path="*.php" verb="GET, PUT, POST, HEAD, OPTIONS, TRACE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v5.4\php-cgi.exe" resourceType="Either" requireAccess="Script" /> 
</handlers> 
+0

[この投稿](https://social.msdn.microsoft.com/Forums/azure/en-US/c5aa7b7b-59e6-4644-999f-b7f06eb79bb7/azure-http-504-gateway -timeout-wlong-requests)あなたを助けますか? –

+0

いいえ、問題はPUTリクエストのみであり、DELELTEリクエストは正常に動作しています。 –

答えて

0

ApacheとIISサーバーが異なるためです。 IISは既定でPUTとDELETEを処理しません。また、PUT要求のためのparamsを別々に扱います。

本文の代わりに、../resource?param1=value1のようなクエリ文字列で送信する必要があります。 AKA x-www-form-urlencodedThis article explains it thoroughly

これは私のために働いた。

function (id, params) { 
     params.api_token = TOKEN; 
     var params = $httpParamSerializerJQLike(params); 
     return $http.put(url+'/lead/'+id+'?'+params); 
    } 

注:また、あなたのweb.configは、これらの要求を処理できるように<handler>タグを必要としません。定義されているhere

関連する問題