Ajax调用restful接口传送Json格式数据的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax调用restful接口传送Json格式数据的方法相关的知识,希望对你有一定的参考价值。

参考技术A ajax传送json格式数据,关键是指定contentType,data要是json格式
如果是restful接口,把type改成对应的post(增)、delete(删)、put(改)、get(查)即可
var
post_data="name":"test001","pass":"xxxx";
$.ajax(
url:
"http://192.168.10.111:8080/uc/login",
type:
'post',
contentType:
"application/json;
charset=utf-8",
data:JSON.stringify(post_data),
success:function
(data)

//调用成功
,
error:
function(data,
textStatus,
errorThrown)
//调用失败

);
以上所述是小编给大家介绍的Ajax调用restful接口传送Json格式数据的方法的全部叙述,希望对大家有所帮助,如果大家想了解更多内容敬请关注脚本之家网站!

BIRT 如何用 rest api 接口获取 json 做报表

BIRT中不能构建JSON数据源,虽然一些开源社区提供了解析JSON数据源插件,但几乎所有插件都非常底层,并且使用起来很不方便,因此并不值得推荐。

BIRT的常规办法是创建一个“脚本数据源”,在该脚本源上连接到URL并自行解析结果,但脚本写起来非常麻烦,而且工作量很大。

比如要处理这么个场景:根据传入参数,调用REST API,返回嵌套的JSON数据,部分数据格式如下:

[

    {

        "id": 1000,

        "content": "It is too hot",

        "comment": [

            {

                "author": "joe",

                "score": 3,

                "comment": "just so so!"

            },

            {

                "author": "jimmy",

                "score": 5,

                "comment": "cool! good!"

            }

        ]

}

...

]

期望解析后的效果:

 技术图片

BIRT使用open()方法创建脚本化数据源,如下所示:

...

importPackage(Packages.java.io);

importPackage(Packages.java.net);

var param= params["industryname"].value;

var inStream = new URL("http://yourapi/endpoint/" + param).openStream();

var inStreamReader = new InputStreamReader(inStream);

var bufferedReader = new BufferedReader(inStreamReader);

var line;

var result = "";

while ((line = bufferedReader.readLine()) != null)

result += line;

inStream.close();

var json = JSON.parse(result);

vars["HTMLJSON"] = json;

logger.warning (result);

...

建议使用集算器,它将HTTP服务的url串的返回结果封装成文件流,可直接解析JSON格式字符串并结构化为序表。集算器精心设计了一套集合运算领域的函数库,以应对结构化后的各类运算,比如分组、排序、过滤、聚合、连接等,不再需要第三方数据库来协助。比如上面的问题,集算器脚本只需3行:

 

A

1

=httpfile("http://yourapi/endpoint/servlet/testServlet?table=blog&type=json")

2

=json(file(A1).read())

3

=A2.news(comment;id,content,${A2.comment.fname().concat@c()})

最后将计算结果返回给BIRT的DataSet进行报表展现。从此示例来看,相比较于常规办法,实现同样的算法只需更少的代码,分步执行调试也方便。

其实还有很多类似的计算问题不太方便,但有集算器SPL的辅助却很简单,感兴趣可以参考:JSON数据计算与入库

集算器提供了JDBC驱动,可以很方便的与BIRT等报表工具集成,BIRT调用SPL脚本有使用和获得它的方法。

关于集算器安装使用、获得免费授权和相关技术资料,可以参见如何使用集算器

以上是关于Ajax调用restful接口传送Json格式数据的方法的主要内容,如果未能解决你的问题,请参考以下文章

springMVC学习(11)-json数据交互和RESTful支持

C# 调用Java的WebService(返回json格式数据),老是返回null, 求解!

BIRT 如何用 rest api 接口获取 json 做报表

api接口,RPC,WebService分别解决啥问题

jQuery AJAX获取JSON数据

ajax——CORS跨域调用REST API 的常见问题以及前后端的设置