从 php 脚本获取响应时出错
Posted
技术标签:
【中文标题】从 php 脚本获取响应时出错【英文标题】:error while getting response from php script 【发布时间】:2011-05-31 03:31:46 【问题描述】:我在 node.js 中有以下代码
console.log("Sending request "+sys.inspect(request));
var request=Yapi.request('get',config.path+'/index.php?
command='+request.command+'&'+querystring.stringify(request),config);
request.end();
var body=''
request.on('response',function(response)
response.on('data',function(chunk) body += chunk;);
response.on('end',function()
var rdata=JSON.parse(body);
if (typeof(rdata) != 'object')
return proceed(false,errno:'002',message:'Cannot parse yapi
response ('+response.responseCode+')');
proceed(true,rdata);
);
);
出现这个错误
Logging in sessionId: '9165703144390136',
command: 'login',
username: 'rahul',
password: '12345'
sessionId=9165703144390136&command=login&username=rahul&password=12345
Sending request sessionId: '9165703144390136',
command: 'login',
username: 'rahul',
password: '12345'
undefined:5
d":"1","id_session":"ecvgvc36d17qran917pml3t681","systemgibid":"54"
<script la
^^
SyntaxError: Unexpected token ILLEGAL
at Object.parse (native)
at IncomingMessage.<anonymous> (/home/ubuntu/nodes/youngib/lib/
yapi.js:103:19)
at IncomingMessage.emit (events.js:41:20)
at HTTPParser.onMessageComplete (http.js:112:23)
at Client.onData [as ondata] (http.js:889:27)
at Client._onReadable (net.js:762:27)
at IOWatcher.onReadable [as callback] (net.js:276:10)
at node.js:616:9
请提出问题所在。
【问题讨论】:
【参考方案1】:非法标记意味着 javascript 属性正在使用它不应该使用的字符,例如:
my-var = 1;
【讨论】:
【参考方案2】:您在变量值的中间有换行符,并且您错过了一些分号。 尝试使用这样的代码:
console.log("Sending request "+sys.inspect(request));
var request = Yapi.request('get', config.path + '/index.php?command=' + request.command + '&' + querystring.stringify(request), config);
request.end();
var body='';
request.on('response', function(response)
response.on('data', function(chunk) body += chunk; );
response.on('end',function()
var rdata = JSON.parse(body);
if (typeof(rdata) != 'object')
return proceed(false, errno:'002', message: 'Cannot parse yapi response (' + response.responseCode + ')' );
proceed(true,rdata);
);
);
【讨论】:
【参考方案3】:api调用有问题,是returnig脚本标签
undefined:5
d":"1","id_session":"ecvgvc36d17qran917pml3t681","systemgibid":"54"
<script la
【讨论】:
以上是关于从 php 脚本获取响应时出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jetty 9 从 HttpClient 获取响应时出错
从 PHP 脚本接收“json_encode”时 Swift JSON 出错。没有它也能正常工作
使用 PHP 从 URL 获取值并将其发送到 javascript 变量时出错