编码无法发送到 API Node JS 的奇怪字符
Encode strange characters which are unable to be sent to API Node JS
我叫 Juraj Çarnogurský。注意 Č
字符。
我想将我的名字从一台服务器发送到 API。但是我的姓氏被替换成了这个
"firstName":"Juraj","lastName":"
arnogurský"}}
这会破坏 JSON 格式。
顺便说一句,我正在使用 NodeJS。
如何将我的姓氏编码成适合网络传输的形式?
编辑
我这样做:
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ý
我这样做成功了:
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) => { ...
你已经意识到
uri: 'http://localhost:3001/api?data=' + JSON.stringify(obj)
必须替换为
uri: 'http://localhost:3001/api?',
qs: {
data: JSON.stringify(obj),
}
这是因为所有 URL 都可以 only use ASCII:
URLs are written only with the graphic printable characters of the
US-ASCII coded character set.
您的姓名包含 ASCII 集之外的字符。
我叫 Juraj Çarnogurský。注意 Č
字符。
我想将我的名字从一台服务器发送到 API。但是我的姓氏被替换成了这个
"firstName":"Juraj","lastName":"
arnogurský"}}
这会破坏 JSON 格式。
顺便说一句,我正在使用 NodeJS。
如何将我的姓氏编码成适合网络传输的形式?
编辑
我这样做:
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ý
我这样做成功了:
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) => { ...
你已经意识到
uri: 'http://localhost:3001/api?data=' + JSON.stringify(obj)
必须替换为
uri: 'http://localhost:3001/api?',
qs: {
data: JSON.stringify(obj),
}
这是因为所有 URL 都可以 only use ASCII:
URLs are written only with the graphic printable characters of the US-ASCII coded character set.
您的姓名包含 ASCII 集之外的字符。