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