关于JSONP的理解
JSONP的实质是通过跨域请求,返回给页面一个结果,这个请求没有js端类似success的回调函数,其功能类似于: <script type="text/javascript" src="XXX"></script> 即引入一个字符串,并执行这个字符串,不过好像引入js这种文件的话,不会执行。当然可以通过eval来执行 两种实现: Ext.create('Ext.data.Store',{ 后台返回的字串: comboxPBStoreData_JSONP=[{"no":"1234567","name":"AAA"},{"no":"1234568","name":"BBB"}] 这样,js中就相当于多了个全局变量comboxPBStoreData_JSONP,可以直接用来使用,当然返回字符串也可以是“MessageBox('AAA');”这种,这样等这个返回字串被处理时,就会弹出一个对话框,这种方法可以从另一个角度部分解决JSONP没有回调的弊端,至少页面可以有响应,知道处理结果 正确的用法: 前台 jQuery.ajax({ 后台: public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException JSONObject obj = new JSONObject(); 注意:1、默认使用callback,jquery自动添加的 2、response返回时,必须拼装成fun('a')这种形式,'a'作为字符串,即success的jsonstr的值。 3、如果不使用callback,无法在前台收到回调处理,进不了success (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |