谢老师您好,我调用的网址在浏览器中运行没问题,云函数调用成功,但提示400错误,没有执行操作,请问是什么原因?
{errMsg: "cloud.callFunction:ok", result: {…}, requestID: "3f4ae9cd-35df-11ea-ac1a-525400c7e4d7"}
errMsg: "cloud.callFunction:ok"
requestID: "3f4ae9cd-35df-11ea-ac1a-525400c7e4d7"
result:
error: "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> ↵<HTML><HEAD><TITLE>Bad Request</TITLE> ↵<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD> ↵<BODY><h2>Bad Request - Invalid URL</h2> ↵<hr><p>HTTP Error 400. The request URL is invalid.</p> ↵</BODY></HTML> ↵"
message: "400 - "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\"http://www.w3.org/TR/html4/strict.dtd\">\r\n<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n<META HTTP-EQUIV=\"Content-Type\" Content=\"text/html; charset=us-ascii\"></HEAD>\r\n<BODY><h2>Bad Request - Invalid URL</h2>\r\n<hr><p>HTTP Error 400. The request URL is invalid.</p>\r\n</BODY></HTML>\r\n""
name: "StatusCodeError"
options:
resolveWithFullResponse: false
simple: true
transform2xxOnly: false
uri: "https://www.e-jn.cn:8888/dy/db/dy_api.asp?bz=3&groupname=12&creater=青鸟&groupnote=2345"
问题解决,在JS中用escape()做一下编码就可以了,谢谢!
谢老师,问题找到了,参数传递中文就出错,请问这种对中文的传递操作应在云函数中如何编码呢?
谢老师,我在浏览器地址栏中直接调用API接口是没问题的,url为:https://www.e-jn.cn:8888/dy/db/dy_api.asp?bz=3&groupname=12&creater=青鸟&groupnote=2345
但是通过云函数调用就不行,调用成功,但没执行,并返回上面的错误信息。
这是你自己的API,不是课程中提供的,所以需要确认
1、API是否是好用的,是否有返回值
2、中文参数是否需要编码
3、从问题的result看,云函数是正确调用的,cloud.callFunction:ok而且result是有值的,是API报错了