Javascript PHP的Ajax函数

Javascript PHP的Ajax函数,javascript,jquery,Javascript,Jquery,我这里有两个问题,第一,下面的代码不起作用,任何人都可以告诉我我遗漏了什么?第二,我想将php中的值返回给success函数,然后该值也将返回给父函数 function myFunc(e){ $.ajax({ type: "post", url: "path/myPhp.php", data: "val="+e, dataType: "php", success: function(result){

我这里有两个问题,第一,下面的代码不起作用,任何人都可以告诉我我遗漏了什么?第二,我想将php中的值返回给success函数,然后该值也将返回给父函数

function myFunc(e){
    $.ajax({
        type: "post",
        url: "path/myPhp.php",
        data: "val="+e,
        dataType: "php",
        success: function(result){
            return result; //i want this result to be returned to parent function myFunc(e)
        },
        error: function(e){
            alert('Error: ' + e);

        }
    }); 

}

jqueryajax没有名为php的数据类型。 合法数据类型如下:

xml
html
脚本
json
jsonp
正文

您是指“json”数据类型吗?

1)您在“数据类型”中有一个无效值。有效值为:xml、json、脚本或html

2) 在我看来,您希望ajax调用以同步方式运行

使用“async:false”来实现这一点。尝试:

function myFunc(e){    
    var value = "";
    $.ajax({
        type: "post",
        url: "path/myPhp.php",
        data: "val="+e,
        dataType: "json",
        success: function(result){
            value = result;
        },
        error: function(e){
            alert('Error: ' + e);
        },
        async: false // set synchronous
    }); 
    alert(value); // use value
} 

在发出$.ajax()调用之前


关于使用同步ajax的讨论可以在这里找到

如果您想让响应作为函数返回值返回,那么您需要让它进行ajax同步,然后在ajax完成后再进行ajax取消同步

如果您的返回响应不是数组,那么我认为这将起作用

    function myFunc(e){
    var returnValue = '';
    $.ajaxSetup({async:false}); // synchronize
        $.ajax({
            type: "post",
            url: "path/myPhp.php",
            data: "val="+e,
            success: function(result){
                returnValue = result; 
            },
            error: function(e){
                alert('Error: ' + e);

            }
        }); 
    $.ajaxSetup({async:true});//  Unsynchronize
    return returnValue;

    }
这不是一个“我的代码不起作用”的网站。
    function myFunc(e){
    var returnValue = '';
    $.ajaxSetup({async:false}); // synchronize
        $.ajax({
            type: "post",
            url: "path/myPhp.php",
            data: "val="+e,
            success: function(result){
                returnValue = result; 
            },
            error: function(e){
                alert('Error: ' + e);

            }
        }); 
    $.ajaxSetup({async:true});//  Unsynchronize
    return returnValue;

    }