javascript - Why am I getting Access-Control-Allow-Origin error when trying to use ajax to access a page? -
i'm trying use ajax access data on website script want able run anywhere. ajax code script looks this
var ajax = new xmlhttprequest(); ajax.open('get', 'http://mywebsite.com/page?i=2&json', true); ajax.onreadystatechange = function() { if (ajax.status == 200) { console.log(json.parse(ajax.responsetext)); } else console.log('could not connect.'); } ajax.send(); but when run error
xmlhttprequest cannot load http://mywebsite.com/page?i=2&json. origin http://anotherwebsite.com not allowed access-control-allow-origin.
on script on website have following lines inside of page,
header('content-type: application/json'); header('access-control-allow-origin: *'); header('access-control-allow-methods: get'); but still same error. want page on website accessable other page on internet via ajax, because script extension should usable on website.
edit: ok got working if set 'withcredentials' attribute on ajax object true , on server send access-control-allow-credentials header set true. script passed domain can returned in access-control-allow-origin on server script. wildcard * didn't work. tested in chrome far.
most browsers won't let cross-domain ajax, make call local server-side script makes cross-domain ajax , gives answer javascript. heard of named "proxy-script" , reliable solution know.
step 1: javascript on otherdomain.com --get--> server-side script on otherdomain.com step 2: server-side script on otherdomain.com --get--> mywebsite.com/page?i=2&json step 3: mywebsite.com/page?i=2&json --json--> server-side script on otherdomain.com step 4: server-side script on otherdomain.com --json--> javascript on otherdomain.com
Comments
Post a Comment