Javascript 通过JSFIDLE发出json请求
以下fiddle未给出预期的json回复: 相反,我得到的是: {“items”:[{“id”:102793,“addtime”:“2009-01-15 01:07:19”,“hits”:675,“username”:“Vortarulo”,“sex”:“m”,“country”:“dermany”,“code”:“de”,“langname”:“dermany”,“pathm3”:“pathgg”:“rate”:1,“num_选票”:1,“num_正选票”:1} 如果我通过以下方式直接提出请求:Javascript 通过JSFIDLE发出json请求,javascript,json,jsfiddle,Javascript,Json,Jsfiddle,以下fiddle未给出预期的json回复: 相反,我得到的是: {“items”:[{“id”:102793,“addtime”:“2009-01-15 01:07:19”,“hits”:675,“username”:“Vortarulo”,“sex”:“m”,“country”:“dermany”,“code”:“de”,“langname”:“dermany”,“pathm3”:“pathgg”:“rate”:1,“num_选票”:1,“num_正选票”:1} 如果我通过以下方式直接提出请
http://apifree.forvo.com/key/b1b0641fac44c20e42373e0af5d05325/format/json/callback/pronounce/action/standard-pronunciation/word/am/language/ga
通过我的浏览器,我得到了预期的答复:
{“items”:[{“id”:101433,“addtime”:“2009-01-14 13:02:54”,“hits”:174,“username”:“generally”,“sex”:“m”,“country”:“irland”,“code”:“ga”,“langname”:“Irish”,“pathm3”:"http://apifree.forvo.com/audio/3d3j2o2c311k2k383b332c211m3d271o32273i211b3a252j3e3m2h3c1m3b2c2o372c3o333c311p25331n2l1n3p252o3j1i392i2c3832372o3d1i2e32371o2m2m2j2g3e3o1i2g2o211m281b2g243b3q2826221l2i1k2h1t1t_251o293n2m262p2k3l3g2q3q3i1f32222j3e292i352h1t1t“,“pathogg”:”http://apifree.forvo.com/audio/3535332936243o27341o21353h2q1o2m2k1h2g263c39381h1n2o2d1b3m252125212c3o3e2a2o3o1i383n283g223l343h2m372f253a3d262g352n3h3q331l3a3h3q2q1k1k1n273p1n2n2q27393j353q3o243p3f353o2h1t1t_1j1k3k342q3b1g2934362q2q2a3n2o3g3f2c3h1k1i2h1t1t“,”比率“:”0“,”票数“:”0“,”票数“:”0}]}
问题是什么?问题是
$。ajax
在url的末尾追加?callback=发音&\ \u=1374366382184
,然后向您提供与预期不同的响应。您不希望这样
您需要以下内容:
$.ajax({
url: url,
jsonpCallback: "pronounce",
jsonp:false, // prevent jquery from appending '?callback=pronounce'
dataType: "jsonp",
cache:true, // prevent '_=TIMESTAMP' from being appended to the url.
success: function (json) {
console.log(JSON.stringify(json));
var mp3 = json.items[0].pathmp3;
var ogg = json.items[0].pathogg;
var sound = '<audio autoplay="false"><source src='+mp3+'</source><source src='+ogg+'</source> </audio>';
$('body').append(sound);
},
error: function(){
console.log("error");
}
});
$.ajax({
url:url,
jsonpCallback:“发音”,
jsonp:false,//防止jquery追加“?callback=发音”
数据类型:“jsonp”,
cache:true,//防止将“\ux=TIMESTAMP”追加到url。
成功:函数(json){
log(JSON.stringify(JSON));
var mp3=json.items[0].pathmp3;
var ogg=json.items[0].pathogg;
var sound='-打开控制台查看响应