我有这样的事情:
package beans;
import javax.ejb.Stateless;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("cc")
@Stateless
public class CardBean implements ICardRemote {
@Produces(MediaType.APPLICATION_JSON)
@Path("validate/{creditCard}")
@GET
@Override
public boolean Validate(@PathParam("creditCard")String creditCard){
int sum = 0;
boolean alternate = false;
for (int i = creditCard.length() - 1; i >= 0; i--)
{
int n = Integer.parseInt(creditCard.substring(i, i + 1));
if (alternate)
{
n *= 2;
if (n > 9)
{
n = (n % 10) + 1;
}
}
sum += n;
alternate = !alternate;
}
return (sum % 10 == 0); //or true or false
}
}
我有功能验证
现在我有一个HTML页面,如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="code.jquery.com/jquery-3.1.1.min.js"; integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"> </script>
</head>
<body>
<a
href="http://localhost:8080/CreditCardWEB/rest/cc/validate/4111111111111111">Validan</a>
<br>
<a
href="http://localhost:8080/CreditCardWEB/rest/cc/validate/4111111111111112">Nevalidan</a>
<br>
<br>
<input type="text" name="txtCC" value="4111111111111111" id="txtCC1">
<button name="btn" onclick="myFunction()">Click me!</button>
<br>
<br>
<p id="res">Result: </p>
<script>
function myFunction() {
// document.getElementById("res").innerHTML = "Result:" + txtCC1.value;
var str = txtCC1.value;
$.ajax({
type: 'GET',
url: './validate/'+str,
success: function(data) {
document.getElementById("res").innerHTML = "Result:" + data;
},
error: function(jqXHR, textStatus, errorThrown) {
//Do something on ERROR here
}
});
}
</script>
<br>
</body>
</html>
所以最后,我有一个文本字段,里面有一个硬编码。
点击按钮,我需要取出该号码并将其发送到我的验证功能。
一旦功能完成,我需要将结果写在按钮下面......这里......
<p id="res">Result: </p>
所以它必须像Result:true或Result:false
答案 0 :(得分:1)
您可以执行以下操作(确保包含jQuery库!):
function myFunction() {
document.getElementById("res").innerHTML = "Result:" + txtCC1.value;
var str = txtCC1.value;
//Here i need a code to call my validation function
//like: var res=Validation (str);
//and then do the
//document.getElementById("res").innerHTML = "Result:" + res;
//DONE
$.ajax({
type: 'GET',
url: './validate/'+str, //Make sure you put the correct endpoint URL here!
success: function(data) {
//DO SOMETHING HERE AFTER YOU GET THE RESPONSE FROM the validate function
document.getElementById("res").innerHTML = "Result:" + data;
},
error: function(jqXHR, textStatus, errorThrown) {
//Do something on ERROR here
}
});
}
答案 1 :(得分:0)
您可以在此链接下找到问题的答案:ANSWER
阅读有关使用javascript消费休息服务的更多信息
答案 2 :(得分:0)
这是正确的代码... thx to Mechkov
function myFunction() {
console.log($);
var str = txtCC1.value;
$.ajax({
type: 'GET',
url: 'http://localhost:8080/CreditCardWEB/rest/cc/validate/' +str,
success: function(data) {
document.getElementById("res").innerHTML = "Result: " + data;
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR +' : '+ textStatus +' : '+ errorThrown);
}
});
}