我是一名AJAX新手,我有一个非常简单的Arduino网络服务器,我试图联系并让返回的结果在我的页面上更新div。目前,服务器端表单处理程序只是试图获得一个简单的“Hello Hello"回到客户端。我知道服务器正在发送" Hello world"因为我看到如果我不阻止默认设置,但当然它会显示在新页面上,而不是像我想要的那样显示在div中。我在post和done函数之间放了一些检测代码,以确保帖子看起来成功。 我的服务器端处理程序c ++代码类似于:
web_server.send_error_code(200);
web_server.send_content_type("text/plain");
web_server.end_headers();
Client& client = web_server.get_client();
client.println(F("Hello world"));
html测试页面主体(取自jquery submit api示例)如下所示:
<form id="testForm" action="//192.168.1.177/test">
<input type="submit" value="Test">
</form>
<!-- the results will be rendered inside this div -->
<div id="result">This is the div</div>
<script language="javascript">
// Attach a submit handler to the form
$( "#searchForm" ).submit(function( event ) {
// Stop form from submitting normally
event.preventDefault();
$( "#result" ).append( " Click"); // just to see we made it here
// Get some values from elements on the page:
var $form = $( this ),
url = "http://192.168.1.177/test";
var posting = $.post( url );
$( "#result" ).append( " Clack:"); // just instrumenting the code
// Put the results in a div
posting.done(function( data ) {
// var content = $( data ).find( "#content" );
$( "#result" ).append( data );
document.getElementById('result').innerHTML = "Post resuls!";
});
});
// sanity check that the div can be changed at page load!
document.getElementById('result').innerHTML = "Ho Ho Ho!";
$( "#result" ).append( " Green Giant");
</script>
请注意,无论数据如何,现在代码只是尝试更新结果div,如果该post.done()函数只是触发!
答案 0 :(得分:0)
而不是:
var posting = $.post( url );
$( "#result" ).append( " Clack:"); // just instrumenting the code
// Put the results in a div
posting.done(function( data ) {
// var content = $( data ).find( "#content" );
$( "#result" ).append( data );
document.getElementById('result').innerHTML = "Post resuls!";
});
写下这个:
$.post( url, function(data){
//var content = $( data ).find( "#content" );
$( "#result" ).append( data );
document.getElementById('result').innerHTML = "Post resuls!";
});
我还认为你需要将一些数据发送到网址以便取回某些内容,如果没有,那么就可以了。