gpt4 book ai didi

javascript - JQuery ajax DELETE 请求在 OPTIONS 阶段失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:04 25 4
gpt4 key购买 nike

我正在尝试使用 JQuery 发送删除请求,但我一直收到 500 内部服务器错误。我用来发送请求的代码是:

$('#deleteReview').click(function(event, ui){
var id = $('#editReviewId').val();

$.ajax({
type: 'DELETE',
url: 'http://api.domain.com/v1/reviews/' + id,
data: 'delete=1' + accessTokens,
dataType: 'json',
success: function(data) {
...
},
error: function(data) {
...
}
});
return false;
});

虽然我在使用 Postman(Chrome HTTP 客户端扩展)时以及在使用完全相同的 AJAX 函数发送 GET 或 POST 时收到 200 OK 响应。只是 PUT 和 DELETE 不起作用。我已经在最新的 Chrome 和 Firefox 以及 Android 手机上进行了测试,所以我认为浏览器不是问题所在。谁能指导我了解代码可能存在的问题?

谢谢

编辑

请求和响应 header :

Request URL:http://api.domain.com/v1/reviews/11
Request Method:OPTIONS
Status Code:500 Internal Server Error


Request Headers
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Access-Control-Request-Headers:accept
Access-Control-Request-Method:DELETE
Connection:keep-alive
Host:api.domain.com
Origin:http://client.domain.dev
Referer:http://client.domain.dev/v4/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.68 Safari/537.36


**Response Headers**
Access-Control-Allow-Methods:*
Access-Control-Allow-Origin:*
Connection:close
Content-Type:text/html
Date:Sun, 12 Jan 2014 01:34:28 GMT
Server:Apache
Set-Cookie:laravel_session=4dd2062c4e6837c605c7b0b7e21d417c; expires=Sun, 12-Jan-2014 03:34:28 GMT; path=/; HttpOnly
Transfer-Encoding:chunked

Controller 代码:

当我尝试调试它时, Controller 很简单:

    class ReviewController extends \BaseController {

public function destroy($id)
{
dd('delete');
}
}

dd() 是 Laravel 的函数 do or die。

最佳答案

肯定是服务器问题

我不知道您使用的是什么服务器,但这是我在节点中处理 OPTIONS 的方式:

var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, api_token, user_token');
if ('OPTIONS' == req.method) {
res.send(200);
} else {
next();
}
};

关于javascript - JQuery ajax DELETE 请求在 OPTIONS 阶段失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21070093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com