近期提交一份Firefox plugin的完整审核被驳回,其理由为:
In order to prevent unintended remote script injection, we cannot allow
jQuery.ajax
and related calls without an explicitjsonp: false
parameter.
而插件内的ajax写法如下:
$.ajax({
url: "http://...",
type: 'GET',
dataType: 'html',
success: function(data){
var tmpTextNum1 = data.indexOf('resultConvertID');
var tmpTextNum2 = data.indexOf('=', tmpTextNum1);
var tmpTextNum3 = data.indexOf(';', tmpTextNum2);
var convertId = data.substring((tmpTextNum2+2), (tmpTextNum3-1));
//Do Other Things...
}
});
服务端回应格式如下:
resultCode['1394634930046']="0";resultString['1394634930046']="success";resultConvertID['1394634930046']="795291";window.loadingScripts--;
jsonp: false应该要搭配jsonp的ajax使用吧?
但是此插件的服务端程式我不能更动,这样子的服务端回应要如何用jsonp的ajax?
或请问有无其他方法解决被驳回的问题?
恳请帮忙,谢谢大家。
javascript - この記事の ajax 応答を jsonp 形式で処理するにはどうすればよいですか? -PHP中国語サイトQ&A-javascript - この記事のajaxレスポンスをjsonp形式で処理するにはどうすればよいですか? -PHP中国語サイトQ&A
ぜひ見て学んでください。
你的datatype应该为jsonp格式
用
getScript