ajax请求接口里的数据,然后显示在页面里

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax请求接口里的数据,然后显示在页面里相关的知识,希望对你有一定的参考价值。

1、在模板中使用了jQuery插件封装的ajax,我用到的是get请求,这在django中涉及到模板和静态文件的使用。

2、然后配置路由,因为我们在ajax中请求的路由地址是getdata,所以在django路由中也要设计这个路由url,并且用views的函数处理路由。

3、然后用视图函数处理对应路由url的请求,然后导入方法JsonResponse,然后我自定义一个字符串,并且用键值对字典的形式返回。注意,最好用JsonResponse方法返回数据,不然可能得不到json格式的数据。

4、get请求中的data参数就是存储后台返回的数据的,但是这个数据是json格式的,所以我们可以通过data.键名(刚才定义的u),这样就可以取出数据了。

5、运行django服务器之后,点击按钮,那么就会开始请求数据,然后弹出数据。可以看到数据跟后台定义的数据一模一样。

参考技术A 首先确认他给你返回的是一个string类型还是数组。
如果是数组的话要知道他给你返回数组的KEY值。
调用的时候如果是数组给他用ajax请求的时候设定下返回数据类型json
在success 返回方法里直接调用比如
success:function (val)
val.name //就是获取他返回数组里的name值

如果不是数组直接输出val就行了。
参考技术B $.ajax(
url:"这里是你要请求的地址",
data:"id":id, //以键/值对的形式
async : false,
dataType : "json",
success : function(data)
for(int i = 0; i < data.length; i++) //循环后台传过来的Json数组
var datas = data[i];
$("#id").append("<p>"+datas.email+"</p>")


);本回答被提问者采纳
参考技术C 后台:

namespace Ajax

/// <summary>
/// GetDrive 的摘要说明
/// </summary>
public class GetData : IHttpHandler, IRequiresSessionState


public void ProcessRequest(HttpContext context)

context.Response.ContentType = "text/plain";
context.Response.Write("Hello world!");


JS:
$.ajax(
url:'/ajax/GetData.ashx',

success:function(result)
$("#div").html(result);


);追问

如果说请求接口,接口给出json字符串,解析json字符串,显示到页面。只要js代码。接口地址随便写什么代替0.0 让我看明白点。谢谢。弄好了加20

追答

我晕,损失大了,那还不简单啊?
比如你返回"name":"andy","age":62
success:function(msg)
var json=$.parseJSON(msg);

$("#div").html("name:"+json.name+"age:"+json.age);


就这东西,你采纳了别人。。。

参考技术D 跨域不跨域,写个ajax不就完事了

ajax怎样实现加载页面,点击页面链接不跳转走

我通过AJAX加载了A页面到一个DIV里,当我点击A页面里的一些功能例如编辑,而会重新打开一个窗口跳到那个编辑页面。怎样实现点击编辑,然后还是在这个DIV里显示。就如IFRAME那样,完全把一个页面加载进来,无论在页面做什么操作都只会在IFRAME里刷新。请问有什么更好的办法。谢谢!

用JQuery实现比较简单。baidu一下有很多例子。
下面例子就是定义按钮id为bbb的单击事件:
$(function()
$('input#bbb').click(function()
....
$.post(url, param, function(dom) // 向url用POST方法发送参数对象param
$('div#xxx').html(dom); // 将返回的内容加载进ID为xxx的DIV中
);
);
);
参考技术A 把Ajax取到的HTML先进行处理一下,把 <a href="a.htm"> 换成 <a href="javascript:ajaxget('a.htm');"> 然后你写一个名为ajaxget的JS函数,用Ajax再去取参数URL的页面.
替换过程可以用正则处理,这样原来所有链接就都被用作Ajax获取了,应该可以避免你提到的情况.
参考技术B 调到编辑页面是因为编辑按钮设置了在新窗口打开.
你设置在当前窗口的打开就行了.
把A标记的target="_blank"去掉就行了.追问

我是用文字作为链接的,不是按钮,而且我没有加入target="_blank"

追答

那么你可以在你的div层里面加载一个框架,然后在框架里面加载你的页面。

以上是关于ajax请求接口里的数据,然后显示在页面里的主要内容,如果未能解决你的问题,请参考以下文章

jQuery ajax,一直调用error方法。

ajax传递json,然后服务器接受json的代码编写

ajax怎样实现加载页面,点击页面链接不跳转走

jsp前台在利用Ajax向后台发起请求,如何判断后台数据库里的数据是不是发生过更新?

$.ajax()请求的返回的值怎样输出在一个div里???

ajax请求里的contentType: "application/json"作用