相关疑难解决方法(0)

在Chrome中停用相同的来源政策

有没有办法在Google的Chrome浏览器上禁用同源策略

这是严格的开发,而不是生产用途.

javascript ajax google-chrome

1443
推荐指数
29
解决办法
177万
查看次数

使用angular.js向HTTP请求添加自定义标头

我是angular.js的新手,我正在尝试为请求添加一些标头:

   var config = {headers: {
            'Authorization': 'Basic d2VudHdvcnRobWFuOkNoYW5nZV9tZQ==',
            'Accept': 'application/json;odata=verbose'
        }
    };

   $http.get('https://www.example.com/ApplicationData.svc/Malls(1)/Retailers', config).success(successCallback).error(errorCallback);
Run Code Online (Sandbox Code Playgroud)

我查看了所有文档,在我看来这应该是正确的.

当我在网址中使用本地文件时$http.get,我会在Chrome的网络标签上看到以下HTTP请求:

GET /app/data/offers.json HTTP/1.1
Host: www.example.com
Connection: keep-alive
Cache-Control: max-age=0
If-None-Match: "0f0abc9026855b5938797878a03e6889"
Authorization: Basic Y2hhZHN0b25lbWFuOkNoYW5nZV9tZQ==
Accept: application/json;odata=verbose
X-Requested-With: XMLHttpRequest
If-Modified-Since: Sun, 24 Mar 2013 15:58:55 GMT
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22
X-Testing: Testing
Referer: http://www.example.com/app/index.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Run Code Online (Sandbox Code Playgroud)

如您所见,两个标头都已正确添加.但是当我将URL更改为$http.get上面显示的URL时(除了使用真实地址,而不是example.com),我得到:

OPTIONS /ApplicationData.svc/Malls(1) HTTP/1.1
Host: www.datahost.net
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://mpon.site44.com
User-Agent: …
Run Code Online (Sandbox Code Playgroud)

javascript http-headers angularjs

89
推荐指数
5
解决办法
22万
查看次数

请求的资源不支持http方法'OPTIONS'.

我从angular.js客户端向asp.net web api PUT方法发出以下请求:

var org = {
                  OrgId: 111,
                  name: 'testing testing'
          };
$http.put("http://localhost:54822/api/data/putorganisation/1/", org).then(function(status) {
         console.log("success PUT");
         return status.data;
});
Run Code Online (Sandbox Code Playgroud)

但是获得以下errormsg(在fiddler中):

{"message":"The requested resource does not support http method 'OPTIONS'."}
Run Code Online (Sandbox Code Playgroud)

这是我的asp.net web api web.config文件的一部分:

 <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type,x-xsrf-token,X-Requested-With" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
      </customHeaders>
    </httpProtocol>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
      <remove name="WebDAV" /> …
Run Code Online (Sandbox Code Playgroud)

rest cors asp.net-web-api angularjs

14
推荐指数
3
解决办法
3万
查看次数

Angular 4 Http POST无效

我希望每个人都做得很好.我最近开始使用angular 4.4,我一直试图将数据发布到我的api服务器,但不幸的是它没有用.我花了两天时间,但仍然没有成功.并且已经尝试过6-7篇甚至来自angular.io的文章.我已经尝试了HttpHttpclient模块,但似乎没有任何工作.

问题是,每当我尝试将数据发布到我的服务器时,Angular都会生成http OPTIONS类型请求而不是 POST.

this.http.post('http://myapiserver.com', {email: 'adam@example.com'}).subscribe(
    res => {
        const response = res.text();
    }
);
Run Code Online (Sandbox Code Playgroud)

我也试图发送请求的自定义选项,但仍然没有成功.

const headers = new Headers({ 'Content-Type': 'x-www-form-urlencoded' });
const options = new RequestOptions({ headers: headers });
options.method = RequestMethod.Post;
options.body = {name: 'Adam Smith'};
//options.body = JSON.stringify({name: 'Adam Smith'}); // i also tried this
//options.body = 'param1=something&param2=somethingelse'; // i also tried this
Run Code Online (Sandbox Code Playgroud)

我使用的是ASP.NET核心2.0,但由于它不起作用我也试过简单的PHP代码,这里是php的服务器端代码.它也没有用.

<?php
print_r($_POST);
?>
Run Code Online (Sandbox Code Playgroud)

注意:Cors也在服务器上启用.另外,我也试过简单的get请求,它的工作非常好.

我真的很感激一些帮助.

提前致谢

javascript http-post angular-http angular angular-httpclient

6
推荐指数
2
解决办法
3万
查看次数

定义 Content-Type 时跨域 jQuery AJAX 失败

我有一个 ASP.NET WebAPI 客户端,它具有以下配置,允许任何跨域POSTGET调用:

public static void Register(HttpConfiguration config)
{
    config.EnableCors(new EnableCorsAttribute("*", "*", "GET,POST"));

    // other unrelated configurations
}
Run Code Online (Sandbox Code Playgroud)

我对我的 WebAPI 应用程序进行了 AJAX 调用,所有这些调用都失败了,并在控制台中显示了 CORS 预防消息。

以下 AJAX 请求失败:

$.ajax({
    url: "myserver:8081/User/Get",
    data: {
        "Id": 12
    },
    type: "POST",
    dataType: "json",
    contentType: "application/json; encoding=utf-8"
});
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况以及如何解决这个问题?

ajax jquery cross-domain cors asp.net-web-api2

3
推荐指数
1
解决办法
2338
查看次数

angularjs 中的重复 ajax 调用

我正在使用express-jwt来构建一个宁静的 api。现在客户端正在进行重复的ajax调用,第一个发起者是angularjs,第二个发起者是other。第一个得到 204 作为响应代码,第二个得到 200 作为响应代码。我试图调试以找到这个重复请求的来源,但我不能。

截屏

以下是带有 204 状态代码的标题的详细信息

204响应码

以下是带有 204 状态代码的标题的详细信息

200 响应代码

任何人都可以建议可能是什么问题吗?

node.js angularjs express-jwt

2
推荐指数
1
解决办法
1462
查看次数

网络选项卡中具有不同类型的两个调用

我面临一个问题,两个呼叫在网络选项卡(PFA)中注册在此输入图像描述 这两个调用具有相同的请求和响应。实际上只有一个来自客户端的调用。需要了解为什么第二个调用被注册。仅供参考:这是基于 sitecore 的项目。window.location.href用于JS端。

请提供对此问题的见解。

ajax sitecore

2
推荐指数
1
解决办法
1228
查看次数