Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 如何将一个值发布到Web服务中并解析另一个值?HTML_Javascript_Android_Web Services_Post - Fatal编程技术网

Javascript 如何将一个值发布到Web服务中并解析另一个值?HTML

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”);

我想使用条形码扫描结果中的“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”);
},
函数(错误){
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);
            });
        })
    }
}