Javascript 试图保存对变量的AJAX()调用响应,但该变量返回空字符串

Javascript 试图保存对变量的AJAX()调用响应,但该变量返回空字符串,javascript,jquery,ajax,jquery-ajaxq,Javascript,Jquery,Ajax,Jquery Ajaxq,我试图将AJax()调用的响应保存在一个javascript变量中,但当我将该值附加到div时,该变量返回空 这是我的脚本代码 <script> /*<![CDATA[*/ $(document).ready(function(){ $("#abusoForm #enviar").livequery("click",function(e){e.preventDefault(); console.log("Click is working"); var h

我试图将AJax()调用的响应保存在一个javascript变量中,但当我将该值附加到div时,该变量返回空

这是我的脚本代码

<script>
/*<![CDATA[*/
$(document).ready(function(){       
$("#abusoForm #enviar").livequery("click",function(e){e.preventDefault();
 console.log("Click is working");
    var hidden = $('#mensajeAbuso').val();
    var category = $('#opcmarcar').val();
    var name=$('#nombre').val();
    var phone=$('#telefono').val();
    var mail=$('#email').val();
    var cf_mail=$('#confirma_email').val();
    var k="<?php echo $this->config->defaultLanguage?>";

    var url="somedomain.com/index.php?param=value";

    //url = 'proxy.php?url='+url;
    var otro = $('#otro_email').val();
    var E=$("#abusoForm #enviar").val();

var alto_height = $(window).height();
    alto_height = alto_height/4;

//Ajax call happening here 
var vajx =$.ajax({url:url,type:"POST",data:{ 'h':hidden,'c': category,'n':name,'p':phone ,'m':mail,'cm':cf_mail,'otro1':otro,"enviar":E,async:false}}).responseText;


//Now I have to use the variable vajx to post a message about the submition of the form ;
if(vajx!=""){
    $("div.error_mensajeria").css("display","none");
    $(".appendcontentAbuso").html(vajx);
    $('#mDialogAbuso').css("height",alto_height);
    $("#mDialogAbuso").popup();
    $("#mDialogAbuso").popup("open");

} 

})
});
/*]]>*/</script> 
请注意,现在我正在启动success:函数中的弹出窗口

提前感谢

有一个
success
处理程序,用于处理从服务器收到的响应。所以你可以这样做:

$.ajax({
      url:url,
      type:"POST",
      data:{ 'h':hidden,'c': category,'n':name,'p':phone ,'m':mail,'cm':cf_mail,'otro1':otro,"enviar":E},
      async:false,
      success:function(ret)
      {
          //the response received from url will be stored in "ret"
          var vajx = ret;
          // use your conditions here now
      }
});
var vajx;

$.ajax({
url: url,
type:"POST",
data:{ 'h':hidden,'c': category,'n':name,'p':phone    ,'m':mail,'cm':cf_mail,'otro1':otro,"enviar":E,async:false}
)
.done(function( data ) {
 vajx = data;
}
试试这个:

//Ajax call happening here 
var result = ''; // declare a var here
var vajx = $.ajax({
    url: url,
    type: "POST",
    data: {
        'h': hidden,
          .....
        async: false
    }
});
vajx.done(function (data) {
    result = data; // <-----------change here
});

if(result != ""){ // <---------------change here
   $("div.error_mensajeria").css("display","none");
   $(".appendcontentAbuso").html(result); // <-----------change here
   $('#mDialogAbuso').css("height",alto_height);
   $("#mDialogAbuso").popup();
   $("#mDialogAbuso").popup("open");
}
//这里发生了Ajax调用
变量结果=“”;//在这里声明一个var
var vajx=$.ajax({
url:url,
类型:“POST”,
数据:{
“h”:隐藏,
.....
异步:false
}
});
vajx.done(函数(数据){
结果=数据;//

}))

好的,让我试试brono bro,当我尝试做console.log(vajx)时,它仍然是空的;在控制台中,我看到它是一个对象,而不是一个普通变量。对象{readyState=4,responseText=“E-mail incorrecto”,status=200,more…}@VikramAnandBhushan签出更新的一个。当我尝试这个时,它仍然给出空字符串。我尝试了console.log(result),它在控制台日志中显示空字符串,最后使其工作如下//
var vajx;

$.ajax({
url: url,
type:"POST",
data:{ 'h':hidden,'c': category,'n':name,'p':phone    ,'m':mail,'cm':cf_mail,'otro1':otro,"enviar":E,async:false}
)
.done(function( data ) {
 vajx = data;
}