javascript - How do I get $.getJSON to work on JSONP -
i know looks lot question pertains single line of (bolded) code. know event handler set correctly. know url should point, except ?callback=? part (i read in post putting @ end of url passed $.getjson, getjson becomes capable of working jsonp, , according api page wiki uses jsonp). know dommod function never runs, not first line of it. don't worry other parts of code, please if can tell me why $.getjson not calling function, new stuff. error message
wikiviewer.html:1 refused execute script 'https://en.wikipedia.org/w/api.php?format=json&action=query&generator=searc…=jordan?callback=jquery111107644474213011563_1454965359373&_=1454965359374' because mime type ('application/json') not executable, , strict mime type checking enabled.
(function(){ var searchbtn = document.getelementbyid('search'); //var body = document.getelementsbytagname('body')[0]; var input = document.getelementbyid("input"); var bodydiv = document.getelementbyid('bodydiv') $(document).ready(function(){ searchbtn.addeventlistener('click', searchwiki); function searchwiki(){ bodydiv.innerhtml = ""; var url = 'https:\/\/en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrnamespace=0&gsrlimit=10&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=' if (input.value === ""){ return; } var searchterm = input.value.replace(/\s/g, '%20'); url = url + searchterm + "?callback=?"; **$.getjson(url, dommod)** //change filename whatever wish search function dommod(json){ //what dom based on json file note need first check andremove previous search content var entry; if (!json.hasownproperty(query)){ return; } if (!json.query.hasownproperty(pages)){ return; } json = json.query.pages; var keys = object.keys(json); var keyslength = keys.length; (var = 0; < keyslength; i++){ entry = json[keys[i]]; var outterdiv = document.createelement('div'); outterdiv.classname = "entry"; var imagediv = document.createelement('div'); imagediv.classname = "entryimg"; var entrydiv = document.createelement('div'); entrydiv.classname = "entrytxt"; outterdiv.appendchild(imagediv); outterdiv.appendchild(entrydiv); entrydiv.innerhtml = '<h2>' + entry.title + '</h2>' + '<p>' + entry.extract + '</p>' if (entry.hasownproperty('thumbnail')){ //add image our imagediv child of entrydiv imagediv.style.backgroundimage = "url('" + entry.thumbnail.source + "')" } bodydiv.appendchild(outterdiv); //appendchild body } } } }); }())
you have query string started in url using ? adding ? when do:
url = url + searchterm + "?callback=?"; change to
url = url + searchterm + "&callback=?"; works fine when sent term "food"
Comments
Post a Comment