紧接上篇,jQuery调用jsonp,并且在页面上展示

上篇中提到了spring4.1+支持jsonp的调用,做了个例子,用来在页面上展示jsonp:

(js写的丑了点,本人后端出生,前端大侠们轻拍~)

 1 var Menu = function () {
 2
 3     return {
 4         getMenuData: function (json) {
 5             console.log(json);
 6             var data = json.data;
 7             var html = "";
 8             for (var i = 0 ; i < data.length ; i ++) {
 9                 var url = data[i].u;
10                 var name = data[i].n;
11                 var sub = data[i].i;
12
13                 html += "";
14                 html += "<li class=‘dropdown-submenu‘>";
15                 html += "<a href=‘" + url + "‘>" + name;
16                 html += "<span class=‘c-arrow c-toggler‘></span>";
17                 html += "</a>";
18                 html += "<ul class=‘dropdown-menu c-pull-right‘>";
19
20                 for (var j = 0 ; j < sub.length ; j ++) {
21                     var url = sub[j].u;
22                     var name = sub[j].n;
23                     var node = sub[j].i;
24
25                     html += "<li class=‘dropdown-submenu‘>";
26                     html += "<a href=‘" + url + "‘>" + name;
27                     html += "<span class=‘c-arrow c-toggler‘></span>";
28                     html += "</a>";
29
30                     html += "<ul class=‘dropdown-menu c-pull-right‘>";
31                     for (var k = 0 ; k < node.length ; k ++) {
32 //                        debugger
33                         var name = node[k];
34                         var last = name.split("|");
35
36                         html += "<li>";
37                         html += "<a href=‘" + last[0] + "‘>" + last[1] + "</a>";
38                         html += "</li>";
39                     }
40                     html += "</ul>";
41                     html += "</li>";
42                 }
43
44                 html += "</ul>";
45                 html += "</li>";
46
47             }
48             $("#itemCatMenu").html(html);
49         },
50
51         getJSONP: function (serverUrl, callbackFun) {
52             $.ajax({
53                 type: "get",
54                 url: serverUrl,
55                 dataType: "jsonp",
56                 jsonp: "callback",
57                 jsonpCallback: callbackFun,
58                 success: function(json){
59 //                    console.log(json);
60                 },
61                 error: function(e){
62                     if (e.status != "200") {
63                         console.log(e);
64                     }
65                 }
66             });
67         }
68     };
69
70 }();
71
72 $(document).ready(function()
73 {
74     var serverUrl = "http://localhost:8088/rest/menu/list";
75     Menu.getJSONP(serverUrl, "Menu.getMenuData");
76 });

展示的效果:

时间: 2024-10-11 13:29:27

紧接上篇,jQuery调用jsonp,并且在页面上展示的相关文章

[修练营 jQuery]使用contactable达到在页面上寄送feedback mail给管理者

前言 我们常常有个需求,是类似提供客服信箱的功能,让使用者可以很方便的将宝贵的意见feedback给站方管理者. 最常看到的就是,在menu或是页面的footer上,加上一个客服信箱的连结, 或是自己写一个表单,可以帮忙寄送相关资讯给站方. 没错,现在jQuery也有类似这样的plug-in,而且真的相当漂亮,还搭配动画让页面表现的更生动. 这边我要介绍的plug-in叫做"contactable",目的就是在页面上安插一个表单,类似用书签夹着的效果, 点一下就会像把书签抽出来的效果,

jQuery 检查某个元素在页面上是否存在实例代码

用jQuery检查某个元素在网页上是否存在时,应该根据获取元素的长度来判断,代码如下: if($("#tt").length > 0) {   //元素存在时执行的代码 }  不能使用以下代码: if($("#tt")) {   //永远执行,不管元素是否存在 } 这就是为什么要根据元素的长度来判断元素在页面中是否存在的原因.

web页面上展示图片时,图片不显示,报错:ERR_CONTENT_LENGTH_MISMATCH

问题描述 前端页面加载css,和js文件的时候,经常出现ERR_CONTENT_LENGTH_MISMATCH的报错情况. 查找问题 在单独打开hearder中css,js的网络地址是能打开的,所以排除了最简单的地址错误.前端项目是由nginx代理的,所以可以查看nginx的日志,看看有无线索. 进入${NGINX_HOME}\logs,查看error.log,得到如下信息: 2018/07/13 14:22:49 [crit] 275197#0: *1543 open() "/usr/loca

javaweb页面上展示动态图片

HTML <img alt="点击设定" name="CONSTRUCTIONPLANHIS_IMAGE_curr_img_0" src="view/showImage/${image}"> JAVA import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import javax.servlet.http.Htt

【BIRT】在页面上展示xxxx年xx月xx日

我们在做报表开发的时候经常会杜鳌一个问题,就是需要在报表上展示"xxxx年xx月xx日"这种日期,例如:需要在报表展示日期如下图: 我们现在数据库存储的日期是:20171231 那么我们如何转化为 这种日期类型呢? 我们可以使用BIRT的函数BIRTStr 假定:字段名为dtDate 那么我们的表达式为: BirtStr.left(dtDate,4)+'年'+BirtStr.right(BirtStr.left(dtDate,6),2)+'月'+BirtStr.right(dtDate

JS 将页面上的表格导出为 Excel 文件

如果在页面上展示了一个表格,想把这个表格导出为Excel文件,那么在要求不高的情况下,可以直接利用 JavaScript 的 Blob 和 Object URL 特性将表格导出.不过,这就是利用了 Excel 能打开 HTML 文档的特性,所以导出的表格实际上是一个 HTML 文档,并且其扩展名只能为 .xls,而不能是 .xlsx,否则Excel无法打开.(有使用JavaScript生成真正Excel文件的方案,以后再研究.) 实例: <!DOCTYPE html> <html>

jquery ajax jsonp跨域调用实例代码

今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApp.WebForm1" %><!DOCTYPE html P

Jquery调用从ashx文件返回的jsonp格式的数据处理实例

开发环境:vs2010+jquery-1.4.min.js 解决问题:网上代码比较少,好多调试不通,返回数据不用json而用jsonp主要考虑解决跨域问题 开发步骤:打开VS2010,新建一web站点,保存位置选择D:\Website1;添加新项,选择一般处理程序,命名cmdHandler.ashx;添加新项,选择HTML页,命名为testAshx.htm;网上下载jquery-1.4.min.js拷贝到web站点中 项目相关网站源码和运行截图如下: 1.testAshx.htm代码如下: <!

JQuery调用iframe子页面函数/对象的方法例子

父页面有个ID为mainfrm.name为Iframe1的iframe,iframe连接b.html,该页面有个函数test 在父页面调用b.html的test方法为: $("#mainfrm")[0].contentWindow.test(); 或者 this.frames["Iframe1"].doQuery(); 在当前弹出的子页面中打开另一个打开页面中的函数,例如在弹出的edit.html页面中调用dataList.html页面中的函数test parent