如何通过ajax jquery/javascript向服务器发送选项方法调用?

如何通过ajax jquery/javascript向服务器发送选项方法调用?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图调用一个API,该API在服务器上接受OPTIONS方法,它在postman上运行并返回json对象,但下面的代码在js上不起作用 我已经读到OPTIONS调用是CORS调用的飞行前调用,所以这个API是https,在另一台服务器上。但即使这样也没有响应,它返回405 method not found $.ajax({ url: url, dataType: "jsonp", method :"OPTIONS",

我试图调用一个API,该API在服务器上接受OPTIONS方法,它在postman上运行并返回json对象,但下面的代码在js上不起作用

我已经读到OPTIONS调用是CORS调用的飞行前调用,所以这个API是https,在另一台服务器上。但即使这样也没有响应,它返回405 method not found

 $.ajax({
            url: url,
            dataType: "jsonp",
            method :"OPTIONS",
            crossDomain: true,
            contentType: 'application/json',
            headers: {
                "Content-type": "application/json",
                "Cache-Control": "no-cache",
                "Accept": "application/json,long_format",
                "Access-Control-Allow-Origin": "*"
            },
            success: function (data) {
                console.log("success" + data);
            },
            error: function (data) {
                console.log("fail" + data);
            }
        }).fail(function(data) {
            console.log("failed" + data);
            });
额外信息: API是跨域的,基于ssl,所以为了覆盖跨域请求,我必须向用户数据类型:jsonp

更新:

这是不可能的情况,所以我必须得到服务器端的更新

说明: 这是一个问题 选项方法,也在跨域后面 a/c根据我在互联网上所做的一些研究,可通过以下方式访问CORS请求: 数据类型:jsonp, 但是使用->数据类型:jsonp 您只能调用GET方法 所以我们被困在这里,允许我们调用跨域https请求或者调用选项方法, 通常,选项方法是由浏览器自动完成的飞行前方法

现在请停止表决我的问题

把这个拿出来。JSONP请求总是GET请求。这是你的主要问题

把这个拿出来。它什么也不做,除非您发出的是一个被重定向为跨来源请求的同一来源请求

把这个拿出来。您正在提出一个选项请求。没有用于描述内容类型的请求正文

把这个拿出来。出于同样的原因


把这个拿出来。它是一个响应头,在请求中没有位置。

您是在尝试进行飞行前选项请求还是其他一些选项请求?这是一个响应头,而不是请求头尝试调用选项方法您可能不想手动进行选项调用。浏览器本身就应该这样做。关于CORS有很多问题。您试图强制不接受CORS请求的服务器接受CORS请求。与服务提供商讨论如何访问其服务的方向。请求是跨源和https方法,如果没有它,则数据类型为:jsonp,它提供跨源策略issue@ShahrukhAhmad-然后您需要更改服务器以使用CORS授予您发出请求的权限。JSONP只能通过GET请求生成。你的意思是不能手动生成?我从postman调用了这个OPTIONS方法,它返回正确的结果。。应该有某种方法从ajax tooGo和read调用它,这解释了同源策略的意义。
dataType: "jsonp",
crossDomain: true,
contentType: 'application/json',
"Content-type": "application/json",
"Access-Control-Allow-Origin": "*"