在jQuery函数中获取结果PHP代码?

时间:2011-12-21 06:29:02

标签: php javascript jquery

我使用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" !!!?

5 个答案:

答案 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);
});