使用.split()拆分ajax结果

时间:2012-01-05 03:37:38

标签: php jquery ajax

我正在尝试使用.split()函数分隔ajax结果。

$(".submit-button").click(function(){
    $.post("something.php",{ some: 'data' }, function(result) {
        var resultArray = result.split('#');
        var resultType = resultArray[0];
        var resultData = resultArray[1];
        if (resultType == 'success'){
            $(".someDiv").html(resultData);
        }
        if (resultType == 'something else'){
            //do something else
        }
    });
});

我有一些php接收帖子数据并输出一些html

<?php
    $someVariable = $_POST['data'];
    //process the data in some way. If successful...
    echo 'success#<div>some html</div>';
?>

我当然在页面上有一个div,如此

<div class="someDiv"></div>

如果我将结果直接传递给.html()函数,它显示正常。当我使用.split()时,resultType变量是可以的,但resultData变量似乎是空的。

1 个答案:

答案 0 :(得分:1)

首先$ _POST ['data']应该是$ _POST ['some'],你实际上可以在json上更容易做到这一点

 $(".submit-button").click(function(){
     $.post("something.php",{ some: 'data' }, function(result) {
         var resultArray = eval("("+result+")");
         var resultType = resultArray[0];
         var resultData = resultArray[1];
         if (resultType == 'success'){
             $(".someDiv").html(resultData);
         }
         if (resultType == 'something else'){
             //do something else
         }
     });
 });

PHP

<?php
    $someVariable = $_POST['some'];
    //process the data in some way. If successful...
    $result[0] = "success";
    $result[1] = "Some HTML Code";
    die(json_encode($result));
?>