无法从Ajax帖子中获取值

时间:2017-02-25 03:37:46

标签: javascript jquery python ajax flask

我在Javascript中为对象创建了一个构造函数。我希望这个对象能够将一些数据发送到服务器。

function basket(list_of_things, price, basket_name){
      this.list_of_things = list_of_things;
      this.price = price;
      this.basket_name = basket_name;
      this.share = function(){
        $.post('/post_basket',
        {
          basket_name: this.basket_name,
          list_of_things: this.list_of_things
        },
        function(data,status){
          alert("Data: " + data + "\nStatus: " + status);
        });
        };
        };

我也在Python函数中创建了一个路径

@app.route('/post_basket', methods=['POST'])
def post_basket():
    a = request.args.get('basket_name', type = str)
    print a
    return ("poo")

我想从Ajax帖子中获取数据并且它一直向我返回。这可能是什么问题?

2 个答案:

答案 0 :(得分:0)

$.ajax({
   url: '/post_basket',
   method: 'POST',
   data: {basketName: this.basket_name, listOfThings: this.list_of_things},
   success: function(response){
      alert("Data: " + response);
   },

   error: function(e) {
     alert(e)
   }

)}

我认为你不需要在这里的函数中包装你的ajax调用。拥有一个错误函数也是有帮助的,这样我们就可以获得更多关于失败原因的信息。也许路线是错误的,也许你需要完整的路线,或者你得到一个400的坏请求。我上面写的是更传统的ajax,也许它会给你一些尝试的东西。如果您有错误消息,请告诉我们:)

答案 1 :(得分:0)

我想通了,因为我用过帖子,我可以通过使用表格访问发送到服务器的数据,而不是获取,如下所示

@app.route('/post_basket', methods=['POST'])
  def post_basket():
    a = request.form['basket_name']
    print a
    return ("poo")