javascript - Content-Type Ajax json missing -
i wrote php code outputs valid json, , sets content-type header application/json in dev setup. when deploy script embedded webserver works fine except it's not capable of sending content-type. it's not possible run other webserver.
now have following code dynatable. though dev , embedded webserver, serve same file, , difference content-type. works dev setup, doesn't work embedded setup.
i use following code load json file dynatable.
document.ready( $.ajax({ url: 'phpapi.php', success: function(data){ $('#mytable').dynatable({ dataset: { records: data } }); } }));
so can explain me why content-type important ajax? how can tell code manually json?
without content-type returned data assumed plain text. there nothing in code tell otherwise.
one way json specify return type in jquery code. add datatype: 'json'
ajax configuration.
or use eval()
transform returned text json.
document.ready( $.ajax({ url: 'phpapi.php', success: function(data){ $('#mytable').dynatable({ dataset: { records: eval(data) } }); } }));
using json.stringify(eval(data))
might give better results making sure json.
as pointed out below, json.parse(data)
safer. (eval evil after all.)
Comments
Post a Comment