我已尝试使用此代码将某些信息发送到特定IP。该IP是一个充当服务器的微控制器。
但是,它会将信息发送到以该IP命名的页面,而不是该IP。
代码是用JavaScript编写的。我该怎么办?使用post方法或Xmlhttprequest以及如何做到这一点。我认为我的代码非常简单:
<!DOCTYPE html>
<html>
<head>
<script>
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
{
alert("First name must be filled out");
return false;
}
}
</script>
</head>
<body>
<form name="myForm" action="192.168.1.250" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>
</html>
答案 0 :(得分:1)
您需要包含协议
action="http://192.168.1.250"
答案 1 :(得分:0)
如果您想要将用户发送到该IP,那么您将使用POST。如果实际上你想要保持在同一页面上,发送信息 - 反之亦然,那么确实一个AJAX调用就足够了。下面我使用vanilla JavaScript而不是任何JavaScript库,虽然使用jQuery会为你提供一些回调/帮助,以使你的代码更稳定。
jsFiddle:http://jsfiddle.net/atjBQ/3/
<script>
/**
* Validate Form, else, Send Ajax
**/
function validateform() {
var x = document.forms["myForm"]["fname"].value;
if ( x == null || x == "" ) {
alert( "First Name must be filled out" );
return false;
}
/**
* If POST
* use: xmlhttp.setRequestHeader(
* "Content-type",
* "application/x-www-form-urlencoded"
* );
**/
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://192.168.1.250?q=" + x, true);
xmlhttp.send();
return false;
}
</script>
<form name="myForm" id="myformtosend">
<label for="fname">First name:</label><input type="text" name="fname" />
<input type="submit" value="Submit" />
</form>
使用jQuery :
/**
* Snippet Reference to:
* http://api.jquery.com/jQuery.post/
**/
<script>
$.ajax({
type: "POST",
url: "http://192.168.1.250",
data: data,
success: function() {
/** Some Code **/
}
});
</script>