У меня есть вызов 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.
Проблема в том, что я не могу манипулировать заголовком ответа типа содержимого.Есть небольшие шансы, что владелец конечной точки исправит это в ближайшее время, поэтому мне нужен обходной путь.
Запрос выдается этой 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
Есть ли способ?