我的名字是JurajČarnogurský。注意Č
字符。
我想将我的名字从一台服务器发送到API。但是我的姓氏被这个
"firstName":"Juraj","lastName":"
arnogurský"}}
它破坏了JSON格式。
我正在使用NodeJS btw。
如何将我的姓氏编码为适合网络传输的表格?
修改
我这样做:
const jsonrpc = require('jsonrpc-lite');
const requestHttp = require('request');
和此:
let obj = jsonrpc.request(id, method, params);
requestHttp({
uri: 'http://localhost:3001/api?data=' + JSON.stringify(obj),
method: 'GET',
}, (error, response, body) => { ...
作为ID,我发送'1'
作为方法,我发送addCustomer
作为参数,我发送此信息:
{
customerId: senderID,
facebookId: senderID,
firstName: context.user.firstName,
lastName: context.user.lastName,
}
其中context.user.lastName
是Čarnogurský
答案 0 :(得分:1)
你已经意识到了
uri: 'http://localhost:3001/api?data=' + JSON.stringify(obj)
必须替换为
uri: 'http://localhost:3001/api?',
qs: {
data: JSON.stringify(obj),
}
这是因为所有网址都可以only use ASCII:
只能使用图形的可打印字符编写URL US-ASCII编码字符集。
您的姓名包含ASCII集之外的字符。
答案 1 :(得分:0)
通过这样做我已经成功了:
requestHttp({
uri: 'http://localhost:3001/api?',
qs: {
data: JSON.stringify(obj),
},
method: 'GET',
}, (error, response, body) => { ...
而不是:
requestHttp({
uri: 'http://localhost:3001/api?data=' + JSON.stringify(obj),
method: 'GET',
}, (error, response, body) => { ...