ajax post请求报500,ajax请求后台一直报500,找了很久没找的问题所在,请大佬帮忙看下,谢谢!!...

$("#btn-form-login").click(function(){

var uname = $("#uname").val();

console.log(uname);

$.ajax({

url :"${base}/assest_login/sendlogin",

data:{city:uname},

type : "post",

dataType:"json",

async : false, //同步执行

succese : function(result) {

//将返回数据同步到资产中

alert("成功");

$("#dialog-tbzc").dialog().close();

//关闭对话框后加载下页面

window.location.reload();

}

});

});

import java.util.Map;

import org.apache.log4j.Logger;

import org.nutz.ioc.loader.annotation.Inject;

import org.nutz.ioc.loader.annotation.IocBean;

import org.nutz.mvc.annotation.At;

import org.nutz.mvc.annotation.Fail;

import org.nutz.mvc.annotation.Ok;

import org.nutz.mvc.annotation.POST;

import org.nutz.mvc.annotation.Param;

import com.venustech.tsoc.cupid.annotation.Log;

import com.venustech.tsoc.cupid.spsm.service.SpsmService;

@IocBean

@At("/assest_login")

@Fail("error")

public class SpsmController {

private Logger logger = Logger.getLogger(SpsmController.class) ;

@Inject("refer:spsmService")

private SpsmService service;

/*@POST

@At("/sendlogin")

@Ok("json")

@Log(isEnabled=false)

public Map sendLogin(HttpServletRequest request, @Param("username") String uname ,@Param("password") String passwd) {

System.out.println(uname);

if(!uname.isEmpty() && !passwd.isEmpty()) {

service.login(uname,passwd);

}

HashMap map = new HashMap<>();

return map;

}*/

@At("/sendlogin")

@Ok("json")

@POST

@Log(isEnabled=false)

public Map reqLogin(@Param("city") String city) {

if(!city.isEmpty()) {

Map map = service.reqLogin(city);

return map;

}else{

logger.error("请求异常。。。。。。");

return null;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在使用 Ajax 发送 POST 请求时遇到 "403 Forbidden-null" 错误,通常是由于 CSRF(Cross-Site Request Forgery)保护机制引起的。 Django 默认开启了 CSRF 保护,要在发送非 GET 请求时包含正确的 CSRF Token。你可以通过以下几种方法来解决这个问题: 1. 在 Ajax 请求的头部中包含 CSRF Token: ```javascript var csrftoken = document.querySelector('[name=csrfmiddlewaretoken]').value; $.ajax({ url: 'your-url', type: 'POST', headers: { 'X-CSRFToken': csrftoken }, data: JSON.stringify(yourData), contentType: 'application/json', dataType: 'json', success: function(response) { // 处理成功响应 }, error: function(xhr, errmsg, err) { // 处理错误响应 } }); ``` 2. 使用 Django 提供的 `csrf_exempt` 装饰器来跳过 CSRF 保护,但这不是推荐的做法,因为会降低安全性: ```python from django.views.decorators.csrf import csrf_exempt @csrf_exempt def your_view(request): # 处理请求 ``` 3. 如果你使用的是 Django Rest Framework(DRF),可以在全局配置中禁用 CSRF 保护: ```python # settings.py REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( # 其他身份验证类... ), 'DEFAULT_PERMISSION_CLASSES': ( # 其他权限类... ), 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', ), 'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.JSONParser', ), 'DEFAULT_AUTHENTICATION_CLASSES': ( # 其他身份验证类... ), 'DEFAULT_PERMISSION_CLASSES': ( # 其他权限类... ), 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', ), 'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.JSONParser', ), 'DEFAULT_AUTHENTICATION_CLASSES': ( # 其他身份验证类... ), 'DEFAULT_PERMISSION_CLASSES': ( # 其他权限类... ), 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', ), 'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.JSONParser', ), 'DEFAULT_AUTHENTICATION_CLASSES': ( # 其他身份验证类... ), 'DEFAULT_PERMISSION_CLASSES': ( # 其他权限类... ), 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', ), 'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.JSONParser', ), # 禁用 CSRF 保护 'DEFAULT_AUTHENTICATION_CLASSES': ( # 其他身份验证类... ), 'DEFAULT_PERMISSION_CLASSES': ( # 其他权限类... ), } ``` 希望这些解决方法可以帮助到你!如果问题仍然存在,提供更多的代码和错误信息,以便我能够更好地帮助你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值