Javascript 试图保存对变量的AJAX()调用响应,但该变量返回空字符串
我试图将AJax()调用的响应保存在一个javascript变量中,但当我将该值附加到div时,该变量返回空 这是我的脚本代码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
<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;
}