您的位置:

关于python之ajax的信息

本文目录一览:

Python 在ajax动态页面如何操作?

首先确定这个动态页面的数据是用: 1、ajax类似的重新请求网络获取数据? 2、还是html中已经存在这些数据? 3、还是通过js读取内存中的数据? 确定好这些,你才能知道如何下手。第一、二种方式是可以模拟的,如果是第三种,建议你放弃。

python和ajax和json

ajax是属于template里面的一个异步请求而已,如果你在views里面传回来是你说的“实体对像(models)”的话,我就有点搞不明白了。。。

不知道你在那个view方法直接return的是什么?

如果使用json处理对象的话请使用:

from django.http import HttpResponse

from models import mymodels

import simplejson

...

def ajax(request):

a = mymodels.objects.all()[0]

'''

此处假设a中有name、age参数

model对象是不能直接作为json可以处理,必须先转换为dict类型

'''

result = {}

result['name'] = a.name

result['age'] = a.age

result = simplejson.dumps(result)

return HttpResponse(result)

此时用ajax访问这个试图返回的内容就是:

{"name":"Jim Green","age":"14"}

上面这种办法不是很好,建议先写一个template模板专门来显示此model内容。

假设模板ajax.html的内容为:

===================ajax.html===============

name: {{a.name}}br /

age: {{a.age}}

=======================================

views视图如下:

from django.http import HttpResponse

from models import mymodels

from django.shortcuts import render_to_response

...

def ajax(request):

a = mymodels.objects.all()[0]

return render_to_response("ajax.html",{"a":a})

此时用ajax访问这个视图返回的内容就是:

name: Jim Green

age: 14

以上的代码可能会有错误,因为是随手写的,希望能够帮到你

====修改了一下====

模板文件名打错了。。。

修改了一下就到了楼上的下面了,楼上你也太没水准了。直接复制

=====修改=====

使用model.__dict__属性可以获得字典,希望能帮到你

请问python怎么和ajax交互数据?

不一定需要django,你从网页上request一个url,这个url运行一段python script,然后在response里面返回一个json,在网页上eval这个json就好了。

Python语言 ajax提交内容 页面免刷新

建议使用Jquery,这样可以保证兼容性。

jquery的ajax很容易,看样子你用的是get请求。

$.getJSON({

'/group/action/'+{{object.id}}+'/6/?mem_id='+{{mem.id}},

function(return_data){

if(return_data.success == true){

alert(return_data.data);

}

}

});

你也可以这样:

$.ajax({

url: '/group/action/'+{{object.id}}+'/6/?mem_id='+{{mem.id}},

//data: {mem_id: mem.id}, //data也可以写到这里的。

success: function(return_data){

if(return_data.success == true){

alert(return_data.data);

}

},

dataType: “json” //跨域的话用jsonp

});

jquery学起来比较简单,入门后边写边看手册就OK了。

还有就是你说的Python ajax提交,ajax是在浏览器端,python要做的就是生成js里面的链接。比如mem.id,object.id这些地方。

ajax跨域问题(python版本)

跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问。即JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。

注意:localhost和127.0.0.1也属于跨域。

如果Origin指定的源不在许可范围内, 服务器会返回一个不带有Access-Control-Allow-Origin字段的响应 . 浏览器解析时发现缺少了这个字段, 就会报错.

修改Django中的views.py文件修改views.py中对应API的实现函数,给返回值加上响应头Access-Control-Allow-Origin,允许其他域通过Ajax请求数据:

满足以下两个条件的请求。

(1) 请求方法是以下三种方法之一:

(2) HTTP的头信息不超出以下几种字段:

非简单请求就是复杂请求。

非简单请求的CORS请求,会在正式通信之前,增加一次HTTP查询请求,称为"预检"请求(preflight)。

预检请求为OPTIONS请求,用于向服务器请求权限信息的。

预检请求被成功响应后,才会发出真实请求,携带真实数据。

JSONP是JSON with Padding的略称。它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。

JSONP的实现步骤大致如下(参考了来源中的文章)

请求时,接口地址是作为构建出的脚本标签的src的,这样,当脚本标签构建出来时,最终的src是接口返回的内容

这时,只要浏览器定义了foo函数,该函数就会立即调用。作为参数的JSON数据被视为JavaScript对象,而不是字符串,因此避免了使用JSON.parse的步骤。

JSONP使用注意

基于JSONP的实现原理,所以JSONP只能是“GET”请求,不能进行较为复杂的POST和其它请求,所以遇到那种情况,就得参考下面的CORS解决跨域了(所以如今它也基本被淘汰了)。

前面讲了JSONP的实现原理,现在我们可以自己写JS来实现JSONP功能。

一般情况下,我们希望这个script标签能够动态的调用,而不是像固定在html里面所以没等页面显示就执行了,很不灵活。

我们可以通过页面的触发事件操作后,通过javascript动态的创建script标签,这样我们就可以灵活调用远程服务。实例如下:

为了更加灵活,上述我们将你自己在客户端定义的回调函数的函数名传送给服务端,服务端则会返回以你定义的回调函数名的方法,将获取的json数据传入这个方法完成回调。

如上,jQuery框架也当然支持JSONP,可以使用 $.getJSON(url,[data],[callback]) 方法。

与js实现的方式相比,我们并不要自己生成一个script标签,客户端也并不需要自己定义一个回调函数.

上述这种方法,很方便,不需要我们自己定义回调函数和指定回调函数名,但是,如果说我们想指定自己的回调函数名,或者说服务上规定了固定回调函数名该怎么办呢?

我们可以使用$.ajax方法来实现。如下例:

在上小节中jsonp: 'callbacks'就是定义一个存放回调函数的键,jsonpCallback是前端定义好的回调函数方法名,server端接受callback键对应值后就可以在其中填充数据打包返回。

但是,jsonpCallback参数可以不定义,jquery会自动定义一个随机名发过去,那前端就得用回调函数来处理对应数据了。利用jQuery可以很方便的实现JSONP来进行跨域访问。

如此,我们的跨域处理即完成,支持所有的请求。

python语言基础知识是什么?

如下:

一、Python语言基础

Python核心:Python数据基本运算、语句、容器、函数

Python 面向对象编程:OOA、OOD、OOP、天龙八部技能系统框架 设计 Python高级:模块、包、函数式编程、文件。

二、Python高级软件开发技术

Linux操作系统 :Linux常用命令、编辑工具、vim/Pycharm

数据结构与算法 :链表、栈和队列、树和二叉树、查找排序

IO网络编程:文件操作、字节流读写、网络协议、套接 字、TCP/UDP

并发编程:多进程、进程池、进程通信、多线程、线程锁、多任务并发、IO模型、协程

Python 正则表达式:正则表达式、贪婪模和非贪婪模式、re模块

MySQL基础:数据库应用、SQL语言、Mysql增删改查、 pymysql模块

三、Python Web全栈式工程师

HTML/CSS HTML5标签,CSS选择器,CSS样式属性以 及值

Java :JS流程控制,DOM,BOM,JQuery API

MySQL高级:MySQL索引、事务、引擎、优化、pymysql 模块使用

Python Django 框架:Django、模板、视图、模型、请求对象等

 Ajax Ajax,:JSON, Jquery对Ajax的支持, 跨域访问

四、Python 爬虫

Redis:Redis、string、hash、list、set、zset、 Python与MySQL和Redis结合

爬虫、HTTP、BeautifulSoup,XPath,Scrapy其实无论是学习什么知识,都要有一个对学习目标的清楚认识。 只有这样才能朝着目标持续前进,少走弯路,从学习中得到不断的提升,享受python学习计划的过程。