如何在不重新加载的情况下将单个元素从浏览器发送到服务器

时间:2012-05-31 17:09:34

标签: javascript jquery html ajax vxworks

如何快速地从浏览器向服务器发送一个元素,而无需重新加载浏览器页面?

有没有一种AJAX方法可以做到这一点,那是一种非文件方法吗?与“.load”相反?

.load可以很好地从服务器向浏览器发送单个元素而无需重新加载页面。 怎么做相反的方向?

浏览器是JavaScript。 服务器是带有windmarks的vxworks。

目前正在运行的方法但是RELOADS页面: 目前,浏览器元素是,我使用submit将其发送到服务器,但这需要很长时间并重新加载浏览器页面。

元素的innerHTML包含格式化为vxworks WINDMARK的数据。 (当vxworks服务器收到此提交时,它会读取windmark并将其复制到“C”字符串以供后端软件处理。)

6 个答案:

答案 0 :(得分:1)

如果您正在使用jQuery和PHP,那么这样的事情应该有效:

JS:

$.ajax('doServerSuff.php?action1=saveLog', function() { 
    // do stuff after server received the data
});

PHP(doServerStuff.php):

<?php
    if ($_GET['action1'] == 'saveLog') {
        //do stuff
    }
?>

答案 1 :(得分:0)

在jQuery中使用$.post发送数据。

答案 2 :(得分:0)

加载指令也可用于将数据传输到服务器:

$().load("url", {limit: 25}, function(){
    //transmission finished
});

在此示例中,值为25的参数限制将传输到服务器。 取自:http://api.jquery.com/load/

答案 3 :(得分:0)

你可以简单地使用这样的ajax调用

$.ajax({
                type: "POST",
                url: "yourpage.php?id=someValue",
               success:function(data){
               //do some stuff here
            });

答案 4 :(得分:0)

您可以使用jQuery获取和发送数据。使用这样的东西:

$.post('urlfromserver',browserdata,function(datafromserver){
    //do stuff
})

如果你让我多付一点,使用JSON向/从服务器发送/接收数据是个好主意。考虑到这一点,您可以执行以下操作:

$.post('urlfromserver',{browserdata: JSON.stringify(browserdata)},function(datafromserver){
    javascriptObject = jQuery.parseJSON(datafromserver)
    //do stuff
})

在您的PHP代码中,只需使用json_encode将数据发送到javascriptjson_decode即可从javascript

接收数据

<强>更新

获取服务器中的数据应该像通过post请求对象一样简单,或者取决于你的send方法,并解析JSON。

PHP中,这是使用上述代码获取数据的示例:

  $dataFromBrowser = json_decode($_POST['browserdata'])

答案 5 :(得分:0)

我得到了它的工作。以下是经过纠正的JavaScript,来自上面的答案。

以下是如何更改服务器上的单个元素。

这也是如何在vxworks Web服务器上写入vxworks windmark字符串而不重新加载页面的示例。

注意:未指定任何URL,因此使用相同的页面。

$.ajax({ 
        type: "POST", 
        url: "?general_page_to_MM_data_1_windmark=CCCCCCCCCCCCCC", 
        success:function(data_from_server){ 
    }});