通过Ajax jquery以Xml格式发送和接收数据

时间:2013-01-26 20:42:34

标签: c# .net database

我不会使用XML格式的Ajax从textarea发送数据,并以XML格式接收数据。我也不知道如何在服务器端(PHP)捕获数据以及如何将数据发送到客户端。

客户端代码:

' STR'是一个来自textarea的值的变量

function sendValue(str){
// Fire off AJAX request.       
$.ajax(
    {
        // Define AJAX properties.
        url: "transliterate.php",
        type: "post",               
        data: { sendValue: str },
        dataType: "json",


        // Define the success method.
        success: function(data){
            data.returnValue = data.returnValue.replace(/\n/g,'<br/>');
            $('#result_box').html(data.returnValue);
            if(data.returnValue.length <= 50) {
                $('#result_box').addClass('short_text');
            }else{
                $('#result_box').removeClass('short_text');
            }
        },


        // Define the error method.
        error: function( objAJAXRequest, strError ){
            $( "#response" ).text(
                "Error! Type: " +
                strError
                );
        }
});

};

这是服务器端代码:

<?php 

//Get Post Variables. The name is the same as 
//what was in the object that was sent in the jQuery
if (isset($_POST['sendValue'])){
    $value = $_POST['sendValue'];   
}else{
    $value = "";
}

//Because we want to use json, we have to place things in an array and encode it for json.
//This will give us a nice javascript object on the front side.
echo json_encode(array("returnValue"=>$value));

?>

当数据类型为json时,这适用于我,但是如何使用XML执行相同的操作?

1 个答案:

答案 0 :(得分:0)

您可以在AJAX请求中指定响应为XML:

dataType: "xml"

然后传递给success回调的参数将代表您可以直接操作的XML的DOM。顺便说一下,在服务器上指定HTTP Content-Type响应头是一种很好的做法。因此,例如,如果您打算从脚本中重新运行XML,请确保已设置正确的标头:

header('Content-Type: text/xml');

在这种情况下,您甚至不需要AJAX请求的dataType参数。 jQuery将自动从Content-Type响应头中推导出它,并相应地解析传递给success回调的结果。