我写了一个Web API,需要在app域外访问。我启用了CORS,我可以从应用程序域外部进行API调用。我试图传递自定义HTTP标头作为GET请求的一部分,我无法让它工作
我在网上搜索以使其正常工作但无法工作。我正在尝试使用jQuery $ .ajax将两个参数appId作为自定义标头传递给Web API调用的GET请求。
url: "http://localhost:38994/api/Search/GetSearchResults",
type: 'GET',
dataType: 'json',
headers: { 'appId': '234' },
data: { param1: 1, param2: { search_by_param: 'xyz', category: 'null'}},
success: function (result) {
alert(result);
}
, error: function (err) { alert(err); }
我尝试使用beforeSend来添加标题。无论我使用'headers'还是beforeSend添加标题,我都会看到自定义标题名称被添加到'Access-Control-Request-Headers'中
Access-Control-Request-Headers: accept, appId
我还尝试使用来自Nuget的WebApiContrib.Formatting.Jsonp来使用JSONP。添加引用后,我的项目进行了折腾。我在版本4.0和5.0之间的System.Web.Http.dll上看到'dll版本不匹配'
有人可以建议我如何在CORS中传递自定义Http标头吗?请注意,当我尝试在我的应用程序中传递自定义http标头时,它可以正常工作