Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Antes de tudo me desculpem a falta de acentos, estou usando um note com teclado americano.
Pessoal eu estou tentando fazer acesso crossdomain em um servidor meu com uma aplicação local utilizando ajax e jquery
eu usei o seguinte código no ajax:
type: "GET",
url: "minhaUrl",
dataType: 'jsonp',
crossDomain: true,
ele recupera informacoes vindas do arquivo php que consulta em um banco mysl, porem se essas informacoes n forem somente texto e tiver um codigo html no meio o seguinte erro acontece
TypeError: a.replace is not a function[Learn More] jquery-2.2.3.min.js:3:13493
eu preciso recuperar textos formatados com html do banco porem se adicionar tags html esse erro acontece e as informacoes n sao passadas.
Problema resolvido com uma funcao q achei no blog da LOIANE
function enableCORS() {
// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
exit(0);
}
return true;
}A 3° é sempre a melhor, mandou bem haha.
Abraços.
O motivo é esse:
dataType: 'jsonp'
Você está falando:
Eiii jQuery, eu estou aguardado um Json ( / jsonp), como JSON não é um HTML, o seu browser fica maluco e estoura um erro de tipo.
Então você tem 3 saídas...
1 -Serializar esse html em JSON (tadinho do seu back, serio)
2- Serializer ao chegar os dados, ex: https://pt.stackoverflow.com/questions/88994/problemas-no-retorno-de-um-jsonp
3 - resolver da maneira certa o CORs ao invés de usar JSONp (referencias abaixo)
https://www.html5rocks.com/en/tutorials/cors/
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS