“诊断”;“字节不足”;当使用YesSOD解析JSON时

“诊断”;“字节不足”;当使用YesSOD解析JSON时,json,http,haskell,post,yesod,Json,Http,Haskell,Post,Yesod,我尝试使用以下代码解析Json POST请求的响应体 import qualified Data.Aeson as J postMypageR = do json <- parseJsonBody :: Handler (J.Result J.Value) case json of J.Error e -> error(show e) J.Success code -> do liftIO $ putStrLn $ sho

我尝试使用以下代码解析Json POST请求的响应体

import qualified Data.Aeson as J
postMypageR = do
  json <- parseJsonBody :: Handler (J.Result J.Value)
  case json of
       J.Error e -> error(show e) 
       J.Success code -> do
         liftIO $ putStrLn $ show code
         defaultLayout $ myWidget
导入合格数据。Aeson作为J
后哺乳期=do
json错误(显示e)
J.成功代码->执行
liftIO$putStrLn$显示代码
defaultLayout$myWidget
在我的Javascript中,我使用
xmlhttp.send(JSON.stringify({a:3,b:4}))发送

Firefox web控制台确认发送到POST的字符串是
{“a”:3,“b”:4}

但是,当我运行代码时,我得到以下错误:
ParseError{errorContexts=[\“demandInput\”],errorMessage=\“字节不足”,errorPosition=1:1}“


有人知道为什么会发生这种情况吗?我的Get和POST都在其他页面中工作,但到目前为止,这是我应用程序中唯一可以查看帖子正文的地方。

我猜这是一个javascript错误……您在发送之前设置了内容长度吗

  xmlhttp.setRequestHeader("Content-length", data.length);

其中
data=JSON.stringify({a:3,b:4})

我猜这是一个javascript错误……您在发送之前设置了内容长度吗

  xmlhttp.setRequestHeader("Content-length", data.length);

其中
data=JSON.stringify({a:3,b:4})

我猜这是一个javascript错误……您在发送之前设置了内容长度吗

  xmlhttp.setRequestHeader("Content-length", data.length);

其中
data=JSON.stringify({a:3,b:4})

我猜这是一个javascript错误……您在发送之前设置了内容长度吗

  xmlhttp.setRequestHeader("Content-length", data.length);

其中
data=JSON.stringify({a:3,b:4})

看起来像是
errorPosition=1:1
说它根本没有收到任何输入。试试Yesod的问题跟踪器。好的。你知道如何记录/打印Yesod收到的输入吗?看起来像是
errorPosition=1:1
说它根本没有收到任何输入。试试Yesod的问题跟踪器。好的。你知道如何记录/打印输入Yer吗ecieves?看起来像是
errorPosition=1:1
说它根本没有收到任何输入。试试Yesod的问题跟踪器。好的。你知道如何记录/打印输入Yesod Receives吗?看起来像
errorPosition=1:1
说它根本没有收到任何输入。试试Yesod的问题跟踪器。好的。你知道如何记录/打印输入Yesod Receives吗伊夫斯?啊,可能就是这样。我对JS完全是个新手。谢谢!我找到了答案。我用Javascript发布了我的发送按钮,作为表单提交,所以它发送了数据,然后用空字符串重新发送了一篇帖子……哇。啊,可能就是这样。我对JS完全是个新手。谢谢!找到了答案。我找到了我的发送按钮发帖来自Javascript,作为表单提交,所以它发送数据,然后用空字符串重新发送帖子…哇。啊,可能就是这样。对于JS,我是一个完全的新手。谢谢!我找到了。我的发送按钮发帖来自Javascript,作为表单提交,所以它发送数据,然后重新发送用一个空字符串结束一篇文章…哎哟。啊,可能就是这样。对于JS,我是一个完全的新手。谢谢!我找到了答案。我用Javascript发送了我的发送按钮,作为表单提交,所以它发送数据,然后用一个空字符串重新发送一篇文章…哎哟。