xhr GET возвращает 406 только в iframe - PullRequest
0 голосов
/ 08 февраля 2019

Мой запрашиваемый xhr ресурс возвращает код 406 ТОЛЬКО в iframe

Вот код xhr в сценарии, который находится внутри iframe:

if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp12' . $orderID . '=new XMLHttpRequest();
} else {  // code for IE6, IE5
xmlhttp12' . $orderID . '=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp12' . $orderID . '.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
  //Execute code here...
}
}
xmlhttp12' . $orderID . '.open("GET","../../scheduling/php/cron.php?error=true&name=' . $cname . '&id=' . $orderID . '&address=' . mysqli_real_escape_string($conn,str_replace("#","",$address)) . '&city=' . mysqli_real_escape_string($conn,$city) . '&state=' . $state . '&zip=' . $zip . '",true);
xmlhttp12' . $orderID . '.send();

ВотЗаголовки запроса, показанные в консоли:

Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,da;q=0.8,pt;q=0.7,fr;q=0.6,la;q=0.5
Cache-Control: no-cache
Connection: keep-alive
Cookie: PHPSESSID=f15733e5f59c258ae3a2d50640531810
Host: marketforceapp.com
Pragma: no-cache
Referer: http://marketforceapp.com/marketforce/scheduling/php/sync- 
orders.php?dbName=mburton9_mf_allsteelcarports&xx=%3C? php%20echo%20rand();%20?%3E&fn=Mike%20Burton&edit_route=&schedule_state=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 

Вот заголовки ответа, показанные в консоли:

Connection: keep-alive
Content-Length: 226
Content-Type: text/html; charset=iso-8859-1
Date: Fri, 08 Feb 2019 16:42:05 GMT
Server: nginx/1.14.1

Похоже, что для этой работы необходимо установить исходный заголовок, но, похоже, он не устанавливается автоматически.

Если я попытаюсь установить его вручную, я получу сообщение об ошибке: Refused to set unsafe header

Мне нужно выяснить, как разрешить этот ресурс в iframe.Есть предложения?

1 Ответ

0 голосов
/ 09 февраля 2019

Как я понимаю, этот iframe находится на сайте на другом хосте, попробуйте установить в своем заголовке cron.php Access-Control-Allow-Origin: *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...