flutter 无法将新对象添加到解析,尽管curl工作正常

olhwl3o2  于 2023-04-07  发布在  Flutter
关注(0)|答案(1)|浏览(128)

首先,我使用Windows和最新的Flutter和Parse安装。
这就是我如何启动Parse:

await Parse().initialize(
      "myAppId", 
      "http://192.168.1.55:4040/parse/",
      debug: true
    );

这里的代码给出了错误:

var obj = ParseObject("GameScore");
      obj.set<int>("score", 123);
      obj.set<String>("playerName", "Ahmed Hammad");
      obj.set<bool>("cheatMode", false);
      await obj.save();

下面是我得到的详细错误:

I/flutter (31178): ╭-- Parse Request
I/flutter (31178): curl -X POST -H 'content-type: text/plain; charset=utf-8' -H 'user-agent: Flutter Parse SDK 4.0.2' -H 'X-Parse-Application-Id: myAppId' -d '{"score":123,"playerName":"Ahmed Hammad","cheatMode":false}' http://192.168.1.55:4040/parse/classes/GameScore
I/flutter (31178): 
I/flutter (31178):  http://192.168.1.55:4040/parse/classes/GameScore
I/flutter (31178): ╰--
I/flutter (31178): ╭-- Parse Response
I/flutter (31178): Class: GameScore
I/flutter (31178): Function: ParseApiRQ.create
I/flutter (31178): Status Code: -1
I/flutter (31178): Type: OtherCause
I/flutter (31178): Exception: FormatException: Unexpected end of input (at character 1)
I/flutter (31178): 
I/flutter (31178): ^
I/flutter (31178): 
I/flutter (31178): ╰--

但是当我发送记录的curl命令的复制/粘贴时,我得到了成功添加的数据。

感谢支持。

y4ekin9u

y4ekin9u1#

原因现在很清楚了。
curl在我的PC上运行,但上面的代码在我的Android模拟器Nexus 5X API30上运行并失败。
当我直接在Android设备上运行相同的代码时,它可以工作。
为什么Emulator失败?我发现你必须从模拟器中使用特殊地址:参见How to connect to a local server from an android emulator?

相关问题