我使用codeigniter,我想使用php生成uniqid代码,如下面的代码(通过random_string()):
function coding(){
echo random_string('unique');
}
我想在a,jquery函数中使用结果顶部函数(用于js代码),我在jquery代码中尝试这样,但alert(coding())
中的此输出是“未定义”。怎么解决它?
function coding(){
$.ajax({
type: "POST",
dataType: "text",
url: "coding",
cache: false,
success: function (data) {
return data;
}
})
}
alert(coding()) // in here output is "undefined" !!!?
答案 0 :(得分:2)
function coding(){
var temp;
$.ajax({
type: "POST",
dataType: "text",
url: coding,
cache: false,
async: false,
success: function (data) {
temp = data;
}
})
return temp;
}
alert(coding());
您将收到[object XMLDocument]。
答案 1 :(得分:1)
这是编码功能是异步的。 使用以下代码:
function coding(){
$.ajax({
type: "POST",
dataType: "text",
url: coding,
cache: false,
success: function (data) {
alert(data);
}
})
}
coding();
答案 2 :(得分:1)
function coding(){
$.ajax({
type: "POST",
dataType: "text",
url: "coding",
cache: false,
success: function (data) {
$("#yourDiv").html(data);
}
})
}
您可以将值分配给另一个元素,如div,p等。
答案 3 :(得分:0)
好吧,我假设您在参数 url 传递的编码变量是对CI控制器中方法的引用。
如果是这种情况,您只需要等待成功回调:
$.ajax({
type: "POST",
dataType: "text",
url: coding,
cache: false,
success: function (data) {
alert(data);
}
})
答案 4 :(得分:0)
好的,您应该使用回调功能,如下所示:
function coding(func){
$.ajax({
type: "POST",
dataType: "text",
url: coding,
cache: false,
success: function (data) {
func(data);
}
})
}
coding(function(data)
{
alert(data);
});