JSONP недопустимое выполнение заголовка ответа с типом содержимого в Firefox - PullRequest
0 голосов
/ 16 октября 2018

У меня есть вызов JSONP, который возвращает следующую полезную нагрузку ответа:

Object.callback({
    "status":201,
    "results":{"status":"success","type":"token"}
})

с заголовком ответа типа содержимого application / json .Совершенно очевидно, что приведенный выше ответ не является допустимым JSON и что тип содержимого должен быть application / javascript .

Рекомендации RFC:

  • использовать application / json, если ответ простой json rfc4627
  • использовать application / javascript, еслиОтвет - это JavaScript (что на самом деле и есть JSONP) - rfc4329

Хотя Chrome в этом случае терпим, Firefox - нет.Он выдает следующую ошибку

SyntaxError: JSON.parse: unexpected character at line 2 column 8 of the JSON data

, прерывающую остальную часть выполнения скрипта.Я использую последнюю версию FF.

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

Запрос выдается этой js-библиотекой (см. Строку 76) https://github.com/payeezy/payeezy_js/blob/master/example/payeezy_intl_v5.2.js

и URL-адресом примера запроса:

https://api-cert.payeezy.com/v1/securitytokens?apikey=JBGWWqLqvUZKHNidRYZnds4uAJ2Sqlz8&js_security_key=js-70e964a7abbc105e02e57fcec1c2207070e964a7abbc105e&callback=Payeezy.callback&auth=true&ta_token=NOIW&type=FDToken&credit_card.type=Visa&credit_card.cardholder_name=John%20Doe&credit_card.card_number=4111111111111111&credit_card.exp_date=0424&credit_card.cvv=123

Есть ли способ?

...