寻找一个非常简单的AJAX脚本

时间:2011-05-10 15:16:20

标签: ajax

我需要一个非常基本,简单且轻量级的AJAX脚本。

有没有人有这样一个他们可以共享的脚本的shell?

这就是我所拥有的:

  • 我在服务器上有一个PHP脚本,它回显服务器上的当前日期和时间
  • 我只需要调用php脚本的javascript并将回显的文本字符串加载到js var中,以便我可以在我的应用程序中使用它

(我需要服务器时钟的原因是网站的所有访问者必须使用相同的时钟。该应用程序不适用于服务器时区以外的访问者。)

感谢您提供帮助。

7 个答案:

答案 0 :(得分:5)

JQuery可能是AJAX的正确答案,但您也可以使用普通的旧Javascript进行如下操作:

 <html>
<head>
    <script type="text/javascript">
        function loadXMLDoc(){
            var xmlhttp;
            if (window.XMLHttpRequest)  {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            }
            else {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            //the callback function to be callled when AJAX request comes back
            xmlhttp.onreadystatechange=function(){
                if (xmlhttp.readyState==4 && xmlhttp.status==200){
                    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                }
            }       
            xmlhttp.open("POST","<<url of web address>>",true);
            xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xmlhttp.send("fname=Henry&lname=Ford");
    }
    </script>
</head>
<body>

<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>

</body>
</html>

答案 1 :(得分:1)

你可以在这里找到一个简单的例子:

AjaxCall = function(Data, WebServiceURL, Callback) {
    var request;
    var url = WebServiceURL;

    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest();
        request.onreadystatechange = function() {
            if (request.readyState === 4) {
                if (request.status === 200) {
                    Callback(request);
                } else {
                    alert("Sorry, an error occurred. " + request.responseText);
                }
            }
        };
        request.open("POST", url, true);
        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        request.send(Data);
    } else if (window.ActiveXObject) {
        url += "?" + Data;
        request = new ActiveXObject("Microsoft.XMLHTTP");

        if (request) {
            request.onreadystatechange = function() {
                if (request.readyState === 4) {
                    if (request.status === 200) {
                        Callback(request);
                    } else {
                        alert("Sorry, an error occurred. " + request.responseText);
                    }
                }
            };
            request.open("GET", url, true);
            request.send();
        }
    }
};

jQuery中的ajax功能很棒但是对于一个简单的Javascript函数来说意味着更大的页面下载。

您可以在我的博客上找到可下载的完整工作示例:

  

http://www.willporter.co.uk/blog/simple-ajax-script.aspx

它在服务器端使用ASP.NET,但你应该明白这一点。

答案 2 :(得分:0)

jQuery为您提供了非常简单的ajax方法。您可以找到有关他们的更多信息here

样品:

 $.ajax({
     type: 'GET',
     url: '/SomeUrl/On/The/Server',
     data: { SomeValue: 10 },
     success: function(data, status)
     {
         // On Success
     },
     error: function(data, status)
     {
        // On Error
     }
 });

答案 3 :(得分:0)

答案 4 :(得分:0)

总的来说,jQuery是一个更可靠的库,但我发现的最轻量级的AJAX方法非常简单Feather AJAX,以 1.6 KB (有压缩空间),或one-liner snippet,我无法保证。

极轻量级库的风险是,如果它们中断,您依靠所有者来修复它而不是开发人员团队。

答案 5 :(得分:0)

解决问题的另一种方法是将您的时间基于UTC而不是服务器本地时间。您甚至可以根据该时间显示客户端本地时间,只需稍加工作即可。

答案 6 :(得分:0)

我可以建议AJAX Generator吗? 我是开发人员,它是商业工具,但它也有演示。

使用该工具可以做的是:

  • 在PHP函数上添加注释
  • 在PHP源文件上运行AJAX Generator
  • 在HTML页面中包含生成的JavaScript文件,并使用PHP服务,就像调用函数一样

为了更清楚,这里是示例代码:

//example.php
<?php
//@WebService
function getServerDate(){
    return date('m/d/Y h:i:s a', time());
}
?>

现在运行生成器: example.php

输出将是两个文件: example_service.php example_caller.js

现在你需要:

  • 将example_service.php添加到example.php和
  • 所在的目录中
  • 在index.html中包含example_caller.js

HTML code

很抱歉发布图片而不是HTML代码,但它没有正确显示。