我得到了这样的东西:
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
最佳答案
你可以这样做(确保你包含 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
}
});
}
关于javascript - 如何在本地主机服务器上使用 javascript ajax 调用 java 类函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40380842/