javascript - AJAX request returns 200OK but fails despite return data being JSON -


edit: in case, the reason not returning correct information trying use jsonp connect cors data setup, whereas server did not have set particular computers access. needed talk , adjust permissions of config file server. thats going on, , couldnt figure out because thought cors , jsonp synonymous, in fact there different ways carried out , server permissions need set.

brief: have $.ajax request pings server looking data. fails, data shows success.

going network, shows response. want it. right out of grasp.

errors: says fails, return is:

{"readystate":4,"status":200,"statustext":"success"} 

so, means somewhere on client side, flagged. response is:

["asset","assetelementdefmap","assetfile","assetfilecategory","assetfilecategoryobjectmap","assetfilesfieldmap","assetfilesreportmap","assettree","assettype","bicurl","cancelledupload","currentvalue","datatypeinstancemembers","datatypeinstances","datatypemembers","devicedatabase","elementdef","elementdefenvironment","elementdefformmap","elementdefmanual","elementdefstructunit","elementdefstructunitlist","field","fieldchoice","fieldformscriptmap","filetype","filetypeassetfilecategorymap","forgotpassword","form","formscriptfunction","formtype","in_id","inspectiontype","inspector","mobileformosmap","mobilereporttypeformmap","mobilereporttypeformtypemap","profileproperty","report","reportsubassetmap","reporttype","reporttypeassettypemap","reporttypeinspectiontypemap","reportvalue","workingset"] 

the headers are:

**request** url:http://xx.xxx.xx.x/mas3/datasources/inspecttech.inspecttech/schema/classes/?callback=jquery172021616409649141133_1374243099954&_=1374243124683 request method:get status code:200 ok **request headers** accept:*/* accept-encoding:gzip,deflate,sdch accept-language:en-us,en;q=0.8 authorization:basic bmrvdg1vynguagluc3bly3r0zwnooju0njdjztg2ztdimzc4mtnjymq0zgq3mtm1mdjkogvjndniyjuwmtu2nzjinzaxndczmdrjyze5yja5zgiyn2eyodnimzlinmy4yziyn2uxnjy1mdk5ndcxyzbjotflodzhn2ezotliztgzmjlingy1mzfjowzhywi3yjnkmjg1 connection:keep-alive host:10.224.65.5 referer:http://localhost:3033/bentleyformintegrationframeset.aspx user-agent:mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, gecko) chrome/28.0.1500.72 safari/537.36 **query string parameters** callback:jquery172021616409649141133_1374243099954 _:1374243124683 **response headers** cache-control:no-cache content-language:en-us content-length:801 content-type:application/json; charset=utf-8 date:fri, 19 jul 2013 14:12:03 gmt expires:-1 mas-license-error-id:noclientlicense mas-license-error-message:client's license invalid. pragma:no-cache server:microsoft-iis/7.5 x-aspnet-version:4.0.30319 x-powered-by:asp.net 

edit: ajax request:

var u = "myusername"; var p = "mypass"; var = u + ":" + p; $.ajax({     type: "get",     url: "http://xx.xxx.xx.x/mas3/datasources/inspecttech.inspecttech/schema/classes/",     contenttype: "application/json; charset=utf-8",     datatype: "jsonp",     headers: {authorization: "basic "+up},     success: function (r) {         alert("success: " + json.stringify(r));     },     error: function (r) {         alert("failure: " + json.stringify(r));     } }); 

the response is:

content-type:application/json ["asset","assetelementdefmap",…,"workingset"] 

that's no jsonp script, plain json (the "padding", ie. callback function, missing). since request cross-domain, you're not allowed access - , executing script fails when resource loads 200 ok status.


Comments