3

我安装了一个烧瓶应用程序,运行烧瓶-restless API,以下命令成功执行:

curl -H "Content-type: application/json" -X POST http://127.0.0.15000/api/menu -d '{"name":"Hello Data"}'

但是当试图用 javascript 做同样的事情时,它失败了。我将其追溯到flask-restless api中的问题代码行,并添加了一个打印出request.data的调试语句,因为它依赖于它。

最接近工作的 jquery 查询是:

$.ajax({
url:'api/menu', 
type:"POST",

contentType:"binary/octet-stream",

data:{name:'foo'}});

对于哪个 request.data 被分配“name=foo”,它应该是 {'name':'foo'}

我已经尝试了 (contentType: "application/json", dataType: "json") 对于内容类型 application/json、binary/octet-stream 的所有排列,在所有其他情况下,数据只是空白,并且 request.form 有一个不可变的字典。

我有什么明显的遗漏吗?

4

1 回答 1

3

糟糕 - 数据 - 没有作为你必须做的 json 发送

$.ajax({
    url:'http://localhost:5000/api/menu', 
    type:"POST",

    contentType:"binary/octet-stream",
    host:"localhost",
    data:JSON.stringify({"name":"foo"})});

注意 JSON.stringify !!!

于 2012-06-26T23:03:29.577 回答