Javascript 如何将一个值发布到Web服务中并解析另一个值?HTML
我想使用条形码扫描结果中的“result.text”在Web服务中搜索以获取“frn2”。这是一个android应用程序,我对它还比较陌生,所以如果你需要更多信息,我可以提供 JS:Javascript 如何将一个值发布到Web服务中并解析另一个值?HTML,javascript,android,web-services,post,Javascript,Android,Web Services,Post,我想使用条形码扫描结果中的“result.text”在Web服务中搜索以获取“frn2”。这是一个android应用程序,我对它还比较陌生,所以如果你需要更多信息,我可以提供 JS: 函数扫描(){ cordova.plugins.barcodeScanner.scan( 功能(结果){ console.log(result.text) var条形码_res=(“ID\n”+ “结果:”+Result.text); window.alert(“ID Result:+Result.text”);
函数扫描(){
cordova.plugins.barcodeScanner.scan(
功能(结果){
console.log(result.text)
var条形码_res=(“ID\n”+
“结果:”+Result.text);
window.alert(“ID Result:+Result.text”);
},
函数(错误){
window.alert(“扫描失败:+错误”);
},
//getFRNbyMATRIC Web服务调用
功能(webserviceCall){
var string=result.text;
$.post(”http://localhost:8081/WebService.asmx?
op=getFRNByMATRIC“{
矩阵:字符串
},功能(回应){
frn2=响应;
}).错误(函数(){
window.alert(“抱歉,无法继续”);
});
//返回DCID号
返回frn2;
}
)
窗口打开(“https://example.com/?frn=“+frn2);
}
XML/WEBSERVICE:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfTEST1 xmlns="http://tempuri.org/">
<TEST1>
<ID>int</ID>
<FRN>int</FRN>
<FRN2>string</FRN2>
<MATRIC>int</MATRIC>
<numbers>
<ID>int</ID>
<Numbers>string</Numbers>
<TEST1s>
<TEST1 d5p1:nil="true" xmlns:d5p1="http://www.w3.org/2001/XMLSchema-
instance" />
<TEST1 d5p1:nil="true" xmlns:d5p1="http://www.w3.org/2001/XMLSchema-
instance" />
</TEST1s>
</numbers>
</TEST1>
int
int
一串
int
int
一串
我会用一个“承诺”来解决这个问题,像这样的事情可能会奏效:
function scan() {
cordova.plugins.barcodeScanner.scan(
function(result) {
console.log(result.text)
var barcode_res = (" ID\n" +
"Result: " + result.text);
getFrn(result.text)
.then(function(frn2){
// you can do something with frn2 here
window.open("https://example.com/?frn=" + frn2);
});
window.alert("ID Result: " + result.text);
},
function(error) {
window.alert("Scanning Failed: " + error);
});
//getFRNbyMATRIC webservice call
function getFrn(str) {
return new Promise(function(resolve, reject) {
$.post("http://localhost:8081/WebService.asmx?op=getFRNByMATRIC", {
MATRIC: str
}, function(response) {
frn2 = response;
resolve(frn2);
}).error(function(e) {
window.alert("Sorry could not proceed");
reject(e);
});
})
}
}
function scan() {
cordova.plugins.barcodeScanner.scan(
function(result) {
console.log(result.text)
var barcode_res = (" ID\n" +
"Result: " + result.text);
getFrn(result.text)
.then(function(frn2){
// you can do something with frn2 here
window.open("https://example.com/?frn=" + frn2);
});
window.alert("ID Result: " + result.text);
},
function(error) {
window.alert("Scanning Failed: " + error);
});
//getFRNbyMATRIC webservice call
function getFrn(str) {
return new Promise(function(resolve, reject) {
$.post("http://localhost:8081/WebService.asmx?op=getFRNByMATRIC", {
MATRIC: str
}, function(response) {
frn2 = response;
resolve(frn2);
}).error(function(e) {
window.alert("Sorry could not proceed");
reject(e);
});
})
}
}