Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对无法发送到API节点JS的奇怪字符进行编码_Javascript_Node.js_Json Rpc - Fatal编程技术网

Javascript 对无法发送到API节点JS的奇怪字符进行编码

Javascript 对无法发送到API节点JS的奇怪字符进行编码,javascript,node.js,json-rpc,Javascript,Node.js,Json Rpc,我叫JurajČarnogurský。注意Č字符。 我想将我的名字从one服务器发送到API。但我的姓氏被替换成了这个 "firstName":"Juraj","lastName":" arnogurský"}} 这破坏了JSON格式 顺便说一句,我正在使用NodeJS 如何将我的姓氏编码为适合网络传输的格式 编辑 我这样做: const jsonrpc = require('jsonrpc-lite'); const reque

我叫JurajČarnogurský。注意
Č
字符。 我想将我的名字从one服务器发送到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都可以:

URL仅使用的图形可打印字符写入 US-ASCII编码字符集


您的姓名包含ASCII集之外的字符。

我无法复制。请发布更多的代码,给我们更多的上下文。这个名字向哪个方向传播?如何发送?它是如何编码的?@theonlygusti我已经编辑了这个问题。
encodeURIComponent('Č')//%C4%8C“