使用jquery在CORS GET请求中传递自定义标头时遇到问题

时间:2014-02-06 00:28:39

标签: javascript jquery cors

我写了一个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标头时,它可以正常工作

0 个答案:

没有答案