当$ .post没问题时,$ .ajax给出错误503 - django

时间:2015-03-15 04:00:10

标签: jquery ajax django

$.post()$.ajax()之间有什么区别吗?我问的是因为我读到$.post()$.ajax()的简写符号,但是我的代码不适用于$.ajax()。我一直收到使用$.post()时未显示的503错误代码。

这些是我的实现:

  function botao_curtir_clicado(id) {
      var URL = '/curtir_post/'
      var parametros = {
            post_id : id,
            csrfmiddlewaretoken : "{{csrf_token}}",
      }
      $.post(URL, parametros, function (data){
            trocar_estado(id, data);
      })
  }

function botao_curtir_clicado(id) {
    $.ajax({
        url: '/curtir_post/',
        type: 'POST',
        csrfmiddlewaretoken : "{{csrf_token}}",
        post_id : id,

        success: function(data) {
            trocar_estado(id, data)
        },

        error: function(data) {
            console.log("Aconteceu algum erro ao curitr um post")
        }
    })
}

我知道这可能是一个愚蠢的错误,但我找不到它!感谢

[更新]:将post_id : id,更改为data : { post_id : id },无法解决问题

2 个答案:

答案 0 :(得分:1)

简而言之:ajax可以获得或发布。所以post是一个专门的ajax。 你在ajax调用中的参数似乎有问题。 我会将它们放在数据结构中,如下所示:

data : { csrfmiddlewaretoken : "{{csrf_token}}", post_id : id }

答案 1 :(得分:1)

您没有发送数据

function botao_curtir_clicado(id) {
    $.ajax({
        url: '/curtir_post/',
        type: 'POST',
        data: {//sent data using the dat key
            csrfmiddlewaretoken: "{{csrf_token}}",
            post_id: id,
        },
        success: function (data) {
            trocar_estado(id, data)
        },

        error: function (data) {
            console.log("Aconteceu algum erro ao curitr um post")
        }
    })
}