PHP - AJAX处理HTTP请求

时间:2011-02-24 02:56:29

标签: php ajax xmlhttprequest

我有一个包含x个字段的表单。提交时,我想;

  1. 获取所有输入数据,$ var = $ _POST ['input']
  2. 验证输入,(!空($ var)&& is_numeric($ var))
  3. 将其粘贴在数组中,array_push($ myArray,$ var)
  4. 生成URLS,$ url。= $ var
  5. 处理网址而不离开网页
  6. 1 - 4已在php中完成

    简单地说,我不熟悉Ajax。自从我接触过Javascript以来已经十年了。我不确定我是否应该使用javascript来完成整个过程。但是,更喜欢php验证,Ajax做http请求。可用的任何示例代码/站点将php var的/ array传递给Ajax来处理http请求吗?

3 个答案:

答案 0 :(得分:0)

您需要使用某种格式将数据从服务器传递到客户端。我推荐JSON。 PHP有a built-in function将数组编码到其中,而JavaScript本身解析它。

至于AJAX部分本身,我建议使用像JQuery这样的框架。使其变得更简单,您不必自己处理不同的浏览器。

$.ajax({
  url: "yourpage.php",
  success: function(data){
    alert(data);
  }
});

答案 1 :(得分:0)

我想这样的事情 -

$urlfield = explode(",", $urls);  

你想通过jQuery AJAX传递这个数组:

<form id="myForm">
  <input type="hidden"  value="'.$urlfield.'">
  <input type="submit" id="processURL" class="Submit" name="ok" value="Send Reply"/>
</form>

这是你的jQuery:

$("#processURL").click(function(event){
        event.preventDefault();
        var urlUsed = $("#urlfield").val();
        $.ajax( 
{ 
    type: "POST", 
    url: urlUsed, 
    data: ,// you can send some data
        beforeSend: function() {
                $("#processingURL").show(); //SOME FUNCTION TO SHOW URL PROCESSING
                },
            success: function() {
                alert("Success");
                }

         });    
        });

答案 2 :(得分:-1)

//浏览器支持代码

 function getXMLHTTP()
  { //fuction to return the xml http object
            var xmlhttp = false;
            try {
                xmlhttp = new XMLHttpRequest();
            } catch (e) {
                try {
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    try {
                        req = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e1) {
                        xmlhttp = false;
                    }
                }
            }

            return xmlhttp;
        }
        // external file to linkup

         function secondpage(countryId) {

            var strURL = "secondpage.php?country=" + countryId;

            var req = getXMLHTTP();
            if (req) {

                req.onreadystatechange = function () {
                    if (req.readyState == 4) {
                        // only if "OK"

                        if (req.status == 200) {

                            document.getElementById('sid').innerHTML = req.responseText;
                        } else {
                            document.getElementById('sid').innerHTML = req.responseText;
                        }
                    }
                }
                req.open("GET", strURL, true);
                req.send(null);
            }
        }

secondpage.php页面中(我将获得$ _REQUEST ['country'];)