我试过卷曲我的API:
curl http://localhost:8080/0/me -H"授权:xxx"
curl http://localhost:8080/0/me/contactlist -H"授权:xxx"
每件事情都很好(JSON Content-Length中的响应:1014 200OK 20ms)
但是在Genymotion第一个API工作正常,第二个总是崩溃错误(不幸的是app停止了):(
编辑:添加logcat(对不起,我忘记了adb logcat)
F/fbassert( 3233): Assert (/Users/mkonicek/code/react-native/ReactAndroid/src/main/jni/first-party/jni/LocalString.cpp:36): 4 byte utf-8 encodings only valid for up to 21 bits
F/libc ( 3233): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadb00c in tid 3262 (imit=5&offset=1)
I/DEBUG ( 87): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 87): Build fingerprint: 'generic/vbox86tp/vbox86tp:5.1/LMY47D/buildbot06101042:userdebug/test-keys'
I/DEBUG ( 87): Revision: '0'
I/DEBUG ( 87): ABI: 'x86'
I/DEBUG ( 87): pid: 3233, tid: 3262, name: imit=5&offset=1 >>> com.awesomeproject <<<
I/DEBUG ( 87): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdeadb00c
I/DEBUG ( 87): Abort message: 'Assert (/Users/mkonicek/code/react-native/ReactAndroid/src/main/jni/first-party/jni/LocalString.cpp:36): 4 byte utf-8 encodings only valid for up to 21 bits'
答案 0 :(得分:0)
好的,我只知道一个问题。
在JSON响应中有表情符号字符,当js尝试解码时可能会导致问题。但是不知道为什么它不能被Promise抓住,太糟糕了。
解决方案:
服务器端&gt;在编码JSON之前解析为url转义字符串
客户端&gt;使用内置decodeURI()
解析值