Twitter oembed не работает, перекрестное происхождение заблокировано [дубликат]

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

Если компьютер работал в базе 10, 0.1 будет 1 x 10⁻¹, 0.2 будет 2 x 10⁻¹, а 0.3 будет 3 x 10⁻¹. Целочисленная математика проста и точна, поэтому добавление 0.1 + 0.2, очевидно, приведет к 0.3.

Компьютеры обычно не работают в базе 10, они работают в базе 2. Вы все равно можете получить точные результаты для некоторые значения, например 0.5, равны 1 x 2⁻¹, а 0.25 - 1 x 2⁻², а их добавление приводит к 3 x 2⁻² или 0.75. Точно.

Проблема связана с числами, которые могут быть представлены точно в базе 10, но не в базе 2. Эти цифры должны округляться до их ближайшего эквивалента. Предполагая, что для 64-битного формата с плавающей точкой IEEE используется очень общий формат, ближайшим номером к 0.1 является 3602879701896397 x 2⁻⁵⁵, а ближайшим номером к 0.2 является 7205759403792794 x 2⁻⁵⁵; добавление их результатов в 10808639105689191 x 2⁻⁵⁵ или точное десятичное значение 0.3000000000000000444089209850062616169452667236328125. Номера с плавающей запятой, как правило, округлены для отображения.

305
задан hippietrail 24 February 2016 в 04:39
поделиться

12 ответов

В Ruby on Rails вы можете сделать в контроллере:

headers['Access-Control-Allow-Origin'] = '*'
356
ответ дан Peter Mortensen 24 August 2018 в 09:26
поделиться

Если вы используете chromer, используйте этот плагин

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related?hl=en

9
ответ дан arun-r 24 August 2018 в 09:26
поделиться

, если вы находитесь под apache, просто добавьте файл .htaccess в свой каталог с этим контентом:

Header set Access-Control-Allow-Origin: *

Header set Access-Control-Allow-Headers: content-type

Header set Access-Control-Allow-Methods: *
6
ответ дан aydow 24 August 2018 в 09:26
поделиться

Если вы работаете на chrome, вы можете просто установить расширение chrome из хранилища chrome для решения проблем, связанных с CORS.

Расширение: Allow-Control-Allow-Origin Ссылка: [ https: // chrome .google.com / Webstore / детали / разрешения контроля-позволяют-ориги / nlfbmbojpeacfghkpbjhddihlkkiljbi? гл = еп] [1] [/ д2]

1
ответ дан Codiee 24 August 2018 в 09:26
поделиться

Подстановочный знак не очень безопасный вариант. Вы хотите, чтобы это было более конкретно - проверьте ответ, который я написал здесь по тому же вопросу; как обойти Access-Control-Allow-Origin?

60
ответ дан Community 24 August 2018 в 09:26
поделиться

Если вы пишете расширение Chrome и получаете эту ошибку, убедитесь, что вы добавили базовый URL API в свой manifest.json разрешающий блок , например:

"permissions": [
    "https://itunes.apple.com/"
]
6
ответ дан Jonathan Cross 24 August 2018 в 09:26
поделиться

Это может быть удобно для всех, кто нуждается в исключении для версий «www» и «non-www» реферера:

 $referrer = $_SERVER['HTTP_REFERER'];
 $parts = parse_url($referrer);
 $domain = $parts['host'];

 if($domain == 'google.com')
 {
         header('Access-Control-Allow-Origin: http://google.com');
 }
 else if($domain == 'www.google.com')
 {
         header('Access-Control-Allow-Origin: http://www.google.com');
 }
7
ответ дан lewsid 24 August 2018 в 09:26
поделиться

В Ruby Sinatra

response['Access-Control-Allow-Origin'] = '*' 

для всех или

response['Access-Control-Allow-Origin'] = 'http://yourdomain.name' 
1
ответ дан Mikhail Chuprynski 24 August 2018 в 09:26
поделиться

Когда вы получаете запрос, вы можете

var origin = (req.headers.origin || "*");

, чем когда вы должны ответить, переходите к чему-то подобному:

res.writeHead(
    206,
    {
        'Access-Control-Allow-Credentials': true,
        'Access-Control-Allow-Origin': origin,
    }
);
5
ответ дан RevanthKrishnaKumar V. 24 August 2018 в 09:26
поделиться
41
ответ дан Reza S 24 August 2018 в 09:26
поделиться
 **Add this meta tag in your Webservice**


 header('Content-type: application/json');
 header('Access-Control-Allow-Origin: *');
1
ответ дан Siddharth Shukla 24 August 2018 в 09:26
поделиться

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

Вы должны настроить свой phonegap.plist. (Я использую старую версию phonegap)

Для кордовы могут быть некоторые изменения в названии и каталоге.

Сначала выберите Поддерживаемые файлы> PhoneGap.plist

enter image description here [/g1]

, затем в разделе «ExternalHosts»,

Добавьте запись со значением, возможно, « http://nqatalog.negroesquisso.pt « Я использую * только для целей отладки.

enter image description here [/g2]

10
ответ дан steve0hh 24 August 2018 в 09:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: