我必须进行大量的AJAX调用,并希望设置一个简单的方法来处理这个问题。我创建了以下
function fsplit($str, $delimiter)
{
$result = array();
$inside_quote = false;
$last_index = 0;
for($i=0; $i<strlen($str);$i++)
{
if($str[$i] == $delimiter and !$inside_quote)
{
array_push($result, substr($str, $last_index, $i - $last_index));
$last_index = $i+1;
}
elseif($str[$i] == "'")
{
$inside_quote = !$inside_quote;
}
}
return $result;
}
当我从其他方法拨打function testingAjax(url) {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: url,
data: "{}",
dataType: "json",
success: function(data) {
//alert(data);
return data;
},
error: function(err) {
alert('error')
}
});
};
时,我收到testingAjax
错误,但当我在Undefined
内提醒时,它是正确的。
testingAjax
基本上,我想从AJAX调用返回数据,并在其他地方解析它。我做错了什么?
答案 0 :(得分:2)
你想要添加一个回调参数(这是一个函数)并将其传递给成功代替你已有的。
function testingAjax(url, cb) {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: url,
data: "{}",
dataType: "json",
success: cb,
error: function(err) {
alert('error')
}
});
};
使用它:
testingAjax('myurl', function(data) {
console.log(data);
});
这将获取成功回调的值,并立即将其作为参数传递给您的自定义回调,这样您就可以访问data
。