我正在尝试使用.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变量似乎是空的。
答案 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));
?>