Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从$http.get请求中删除头并添加";应用程序/json“;及;“纯文本/纯文本”;至;接受;_Javascript_Angularjs_Xmlhttprequest - Fatal编程技术网

Javascript 如何从$http.get请求中删除头并添加";应用程序/json“;及;“纯文本/纯文本”;至;接受;

Javascript 如何从$http.get请求中删除头并添加";应用程序/json“;及;“纯文本/纯文本”;至;接受;,javascript,angularjs,xmlhttprequest,Javascript,Angularjs,Xmlhttprequest,我是angularjs的新手,我正在尝试向现有angularjs应用程序添加一些新功能。 所有现有的调用都包含在复杂的逻辑中,所以我想我应该直接进行调用。这是我的电话号码: 当从angularjs代码对api进行现有调用时,它们可以工作,并且在下图的顶部有以下标题(用红色文本标记为“Works”)。我的新调用添加了访问控制请求头和访问控制请求方法,如下图下半部分所示(用红色文本标记为“Fails”) 当我在Chrome的控制台中查看时,我看到我的新请求出现以下错误:XMLHttpReques

我是angularjs的新手,我正在尝试向现有angularjs应用程序添加一些新功能。 所有现有的调用都包含在复杂的逻辑中,所以我想我应该直接进行调用。这是我的电话号码:

当从angularjs代码对api进行现有调用时,它们可以工作,并且在下图的顶部有以下标题(用红色文本标记为“Works”)。我的新调用添加了访问控制请求头和访问控制请求方法,如下图下半部分所示(用红色文本标记为“Fails”)

当我在Chrome的控制台中查看时,我看到我的新请求出现以下错误:XMLHttpRequest无法加载。访问控制允许标头不允许请求标头字段授权


我还缺少请求中“Accept”头中的“application/json”和“text/plain”。如何将这些添加到“Accept”中,并同时删除“Access Control Request Header”和“Access Control Request Method”?

请在下面查找设置$http请求选项的示例:

 var request = {
   method: 'POST',
   url: 'http://example.com',
   headers: {
     'Accept': 'application/json'
   },
   data: { test: 'test' }
 }

 $http(request ).then(function(){...}, function(){...});

请在下面找到设置$http请求选项的示例:

 var request = {
   method: 'POST',
   url: 'http://example.com',
   headers: {
     'Accept': 'application/json'
   },
   data: { test: 'test' }
 }

 $http(request ).then(function(){...}, function(){...});
我还缺少请求中“Accept”头中的“application/json”和“text/plain”。如何将这些添加到“接受”中

浏览器正在生成一个错误。您应该期望在收到服务器发出的GET请求的权限后,看到所需的头

(您真正的问题很可能是您没有设置服务器以正确响应飞行前请求。)

还要去掉“访问控制请求头”和“访问控制请求方法”

如果不首先消除需要预照明请求的条件:您不能。当浏览器发出飞行前请求时,这些将自动添加

我还缺少请求中“Accept”头中的“application/json”和“text/plain”。如何将这些添加到“接受”中

浏览器正在生成一个错误。您应该期望在收到服务器发出的GET请求的权限后,看到所需的头

(您真正的问题很可能是您没有设置服务器以正确响应飞行前请求。)

还要去掉“访问控制请求头”和“访问控制请求方法”


如果不首先消除需要预照明请求的条件:您不能。当浏览器发出飞行前请求时,它们会自动添加。

您不能对您提到的“复杂逻辑”进行一些挖掘,以检查它是如何完成的吗?即使你让它工作,你也应该遵循你试图扩展的应用程序中的现有标准。你不能对你提到的“复杂逻辑”进行一点挖掘,以检查它是如何工作的吗?即使你让它工作,你也应该遵循你尝试扩展的应用程序中的现有标准。来自同一应用程序的其他调用管理调用webapi。因此,服务器不会成为问题。我新添加的调用和工作调用之间的唯一区别是我指出的内容。我需要修改我的调用,使之与其他调用一样。@DotNetGuy-所以区别在于您正在自定义请求头…这是可以触发飞行前请求的东西。其他调用是否触发飞行前请求?我还尝试发送get请求,但没有指定头(即,没有传递配置变量)。因此$http.get请求只指定了两个参数:url和参数json对象。这导致了同样的错误。来自angularjs应用程序的其他get调用也使用$http.get,但不传递“访问控制请求头”和“访问控制请求方法”,而是在“接受”头中传递“application/json”和“text/plain”(我的调用不传递)。@DotNetGuy-它还传递
*/*
,那么问题出在哪里呢?问题是调用无法访问API,我在Chrome控制台中收到消息“XMLHttpRequest无法加载。访问控制允许标头不允许请求标头字段授权”。来自同一应用程序的其他调用试图调用webapi fine。因此,服务器不会成为问题。我新添加的调用和工作调用之间的唯一区别是我指出的内容。我需要修改我的调用,使之与其他调用一样。@DotNetGuy-所以区别在于您正在自定义请求头…这是可以触发飞行前请求的东西。其他调用是否触发飞行前请求?我还尝试发送get请求,但没有指定头(即,没有传递配置变量)。因此$http.get请求只指定了两个参数:url和参数json对象。这导致了同样的错误。来自angularjs应用程序的其他get调用也使用$http.get,但不传递“访问控制请求头”和“访问控制请求方法”,而是在“接受”头中传递“application/json”和“text/plain”(我的调用不传递)。@DotNetGuy-它还传递
*/*
,那么问题出在哪里呢?问题是调用没有到达API,我在Chrome的控制台中得到消息“XMLHttpRequest无法加载。访问控制允许标头不允许请求标头字段授权。”。