Ajaxでリクエストを削除します301移動応答を与えます
-
27-09-2019 - |
質問
次のように、jQueryのajaxメソッドを使用して削除リクエストを作成しようとしています
$.ajax(
{
type: 'DELETE',
url: '/tagz',
data: {id: taskId},
success: function(data)
{
console.log(data);
}
});
また、Chromeでコンソールを見ると、リクエストヘッダーで削除する代わりにGet Requestが作成されていることがわかります。そして、Firefoxコンソールでは、次のことがわかります。
23:50:52:658: Network: DELETE http://test.goje87.com/tagz [HTTP/1.1 301 Moved Permanently 947ms]
23:50:53:614: Network: GET http://test.goje87.com/tagz/ [HTTP/1.1 200 OK 400ms]
サーバー側では、次のコードを維持しているだけです。
$reqMethod = $_SERVER['REQUEST_METHOD'];
switch($reqMethod)
{
case 'GET':
Utils::printR('Will provide the resource.');
selectObjects();
break;
case 'POST':
Utils::printR('Will create a new record.');
createObject();
break;
case 'PUT':
Utils::printR('Will update the record.');
break;
case 'DELETE':
Utils::printR('Will delete the record.');
Utils::output($_SERVER);
break;
}
リクエストが入っているのがわかりません case 'DELETE'
. 。それはに入っています case 'GET'
代わりは。
以下は、クリーンURLを目的としてサーバーで使用している.htaccessファイルです。
RewriteEngine on
RewriteRule ^(.*)$ index.php [L,QSA]
削除リクエストを作成するのを手伝ってください。ありがとう!
解決
わかった。 :)
問題はURLにありました( '/tagz
')私が渡っていたこと $.ajax
. 。私がそれを変更したとき /tagz/
(最後に別のフォワードスラッシュを追加しました)ChromeとFirefoxで正常に動作し始めました。
みんなありがとう。
他のヒント
削除方法は、明らかにChromeブラウザによってサポートされていません。
Webサーバーは削除メソッドを許可していないようです。すべてのリクエストにPOSTメソッドを使用して、代わりに実行されるアクションを含む変数「アクション」を提供してみませんか?
所属していません StackOverflow