本文将分享如何使用Django发送POST请求?的详细内容,并且还将对django发送http请求进行详尽解释,此外,我们还将为大家带来关于ajax把get请求改为post请求(django)、Aja
本文将分享如何使用Django发送POST请求?的详细内容,并且还将对django发送http请求进行详尽解释,此外,我们还将为大家带来关于ajax 把get请求改为post请求(django)、Ajax通过POST请求发送空列表Django、android – 如何使用google api客户端库为java发送带有JSON数据的POST请求?、django – CSRF验证失败.请求中止.当我发送POST请求时的相关知识,希望对你有所帮助。
本文目录一览:- 如何使用Django发送POST请求?(django发送http请求)
- ajax 把get请求改为post请求(django)
- Ajax通过POST请求发送空列表Django
- android – 如何使用google api客户端库为java发送带有JSON数据的POST请求?
- django – CSRF验证失败.请求中止.当我发送POST请求时
如何使用Django发送POST请求?(django发送http请求)
我不想使用html
文件,但只有django才需要发出POST请求。
就像urllib2
发送get
请求一样。
答案1
小编典典结合使用urllib2和urllib中的方法即可解决问题。这是我使用这两种方法发布数据的方式:
post_data = [(''name'',''Gladys''),] # a sequence of two element tuplesresult = urllib2.urlopen(''http://example.com'', urllib.urlencode(post_data))content = result.read()
urlopen()是用于打开URL的方法。
urlencode()将参数转换为百分比编码的字符串。
ajax 把get请求改为post请求(django)
以下代码可以正常运行。(index.js文件)
setInterval(function () {
console.log( "kaishi" + timeText())
$.ajax(
{
type:'get', // 不指定默认就是get,都是小写
success:function (response) {
console.log(response)
$('#picture').attr('src', response.imgPath) //修改<img>标签的src值
$('#number').text(response.result) //修改id="number"标签的内容
}
}
)
},10000) //10s
我希望与页面加载的同时,此代码就开始执行,并且每隔10s执行一次。
为了和首次打开页面区分,我把ajax请求的类型改为post,其他不变
type:'post'
会报如下错误(ajax发送的请求为我的首页):
Forbidden (CSRF token missing.): /index/
解决办法:
- 第一步 index.html : 引用query.cookie.js插件(建议将此文件下载到本地,不然只能在联网下使用,可以确定此方法可行后再下载)
<script src="https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
- 第二步 index.js : 在success函数前添加请求头 headers: {“X-CSrftoken”: $.cookie(‘csrftoken’)}
setInterval(function () {
console.log( "kaishi" + timeText())
$.ajax(
{
type:'post', // 不指定默认就是get,都是小写
//以下是添加的代码
headers: {"X-CSrftoken": $.cookie('csrftoken')},
//以上是添加的代码
success:function (response) {
console.log(response)
$('#picture').attr('src', response.imgPath) //修改<img>标签的src值
$('#number').text(response.result) //修改id="number"标签的内容
}
}
)
},10000) //10s
过程中遇到的报错:
- 第一种 : 在浏览器查看控制台报错:
原因 : cookie的问题,需要在index.html文件中引用query.cookie.js插件
<script src="https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
- 第二种 : 终端报错:
Forbidden (CSRF token missing.): /index/
原因:没有加入这句代码
headers: {"X-CSrftoken": $.cookie('csrftoken')},
Ajax通过POST请求发送空列表Django
您可以将result
视图设为仅接受POST请求。
您可以使用@require_GET
@require_GET
def result(request):
...
或仅在您的if
中添加一个result
语句:
def result(request):
if request.method == 'POST':
# your code
对于错误的请求,您还可以返回错误:
def result(request):
if request.method != "GET":
return HttpResponseBadRequest("Expecting GET request")
android – 如何使用google api客户端库为java发送带有JSON数据的POST请求?
这是我正在使用的片段
UrlEncodedContent urlEncodedContent = new UrlEncodedContent(paramMap); //paramMap contains email and password keypairs HttpRequest request = httpRequestFactory.buildPostRequest(new GenericUrl(Constants.PHP_SERVICE_BASE_PATH + mPath),urlEncodedContent); String response = request.execute().parseAsstring();
我没有得到预期的回应.我认为这是因为邮政参数,即电子邮件和密码没有以正确的格式发送.我需要用JSON发送它们.
注意:我没有将该库用于Google Web服务.
解决方法
Map<String,String> json = new HashMap<String,String>(); json.put("lat",Double.toString(location.getLatitude())); json.put("lng",Double.toString(location.getLongitude())); final HttpContent content = new JsonHttpContent(new JacksonFactory(),json); final HttpRequest request = getHttpRequestFactory().buildPostRequest(new GenericUrl(url),content);
django – CSRF验证失败.请求中止.当我发送POST请求时
POST看起来像:
http://example/my_page_url/1000
1000是一个ID.
这是我的观点方法:
def inventory(request,cross_id): text_file = open("test.txt","w") text_file.write('POST Received') text_file.write(cross_id.__str__()) text_file.close() return render(request,'Inventory.html',{})
我的模板代码:
<form action='' method="POST"> <button type="submit" id="btn_save" name="btn_save">Save</button> {% csrf_token %} </form>
实际上,我并不需要调用模板,因为我只想在服务器上执行某些操作.但我现在调用模板只是为了防止任何错误.
我已经阅读了相同问题的其他答案,但是他们都错过了模板中的CSRF令牌或者其他方法,但我相信这里的情况有所不同.
解决方法
您可以从名为csrftoken的cookie中获取此标头的相应值.
要在Postman中测试它,您需要启用Interceptor插件(右上角).
安装完成后,向/ admin / login /发出GET请求(确保从浏览器中的站点注销).在cookies部分中,您应该看到名为csrftoken的cookie,复制其值.
现在,将请求类型设置为POST以获取相同的URL(/ admin / login),使用您之前复制的值添加名为X-CSrftoken的标头.在Body部分中设置用户名和密码字段,然后点击发送.
如果您的POST不需要身份验证,则可以使用早期GET请求中的csrftoken.
我们今天的关于如何使用Django发送POST请求?和django发送http请求的分享就到这里,谢谢您的阅读,如果想了解更多关于ajax 把get请求改为post请求(django)、Ajax通过POST请求发送空列表Django、android – 如何使用google api客户端库为java发送带有JSON数据的POST请求?、django – CSRF验证失败.请求中止.当我发送POST请求时的相关信息,可以在本站进行搜索。
本文标签: