Javascript 从AJAX获取HTML值

Javascript 从AJAX获取HTML值,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下代码: $.ajax({ type: 'get', url: 'https://......./confirma.asp', data: $('.newform').serialize(), dataType: 'jsonp', beforeSend: function () { $('.ajax-loader').slideToggle(); },

我有以下代码:

    $.ajax({
        type: 'get',
        url: 'https://......./confirma.asp',
        data: $('.newform').serialize(),
        dataType: 'jsonp',
        beforeSend: function () {
            $('.ajax-loader').slideToggle();
        },
        success: function (resposta) {
            alert(resposta); // not work 
            $('.ajax-loader').slideToggle();
        }
    }); 
我从ajax get(firebug)得到以下响应:

我如何得到这个值?例如:

resposta['CODRET'];


因为我需要在另一个JQuery函数()中设置

这看起来像一个查询字符串。以下是的修改版本:


您可能应该拆分它们:

$.ajax({
    type: 'get',
    url: 'https://ecommerce.redecard.com.br/pos_virtual/confirma.asp',
    data: $('.newform').serialize(),        
    beforeSend: function () {
        $('.ajax-loader').slideToggle();
    },
    success: function (data) {
        var codret = data.split('&')[0].split('=')[1]; 
        var msgret = data.split('&')[1].split('=')[1];             
        $('.ajax-loader').slideToggle();
    }
});

如果无法更改服务器代码,请执行此操作

  function QueryStringToJsonObject(queryString)
    {
        var queries = {};
        decodeURIComponent(queryString).replace(/([^=]+)=([^&]+)/g,
            function(all, key, value) {
                queries[key.replace(/^&/,'')] = value;
            }
        );
        return queries;
    }
然后:

QueryStringToJsonObject(responseText) ["CODRET"] //1

<>请考虑返回HTTP请求。

<代码> CODRET=1和MSGRYT= jaRealDMADA<代码>是您得到的响应吗?这似乎很奇怪,特别是当您期望JSONP作为响应时。因此,您得到一个查询字符串作为响应,您需要对其进行反序列化?使用此语法
resposta['CODRET']您需要将响应转换为JSON。@Patrick Maciel:删除url原始antes de postar aqui…@FelixKling是的,这是“响应”,我作为JSON发送,因为否则服务器不会为我返回任何值。我尝试使用该函数,但在收到响应HTML后没有任何效果。我不知道为什么。@PatrickMaciel,有什么错误吗?您将需要发布您所做的。我将您的函数粘贴到我的
php
文件中,但我无法将“resposta”(response)发送到函数,换句话说,您的函数可能工作,但我无法使用它,因为当我从服务器收到响应时,没有更多的工作,当您编写
'echo'
而不是
'return'
时也是如此(
echo
打破ajax,我想..情况也是一样,你明白吗?)-对不起,我的英语太差了(一会儿我就把代码原封不动了。)
$.ajax({
    type: 'get',
    url: 'https://ecommerce.redecard.com.br/pos_virtual/confirma.asp',
    data: $('.newform').serialize(),        
    beforeSend: function () {
        $('.ajax-loader').slideToggle();
    },
    success: function (data) {
        var codret = data.split('&')[0].split('=')[1]; 
        var msgret = data.split('&')[1].split('=')[1];             
        $('.ajax-loader').slideToggle();
    }
});
  function QueryStringToJsonObject(queryString)
    {
        var queries = {};
        decodeURIComponent(queryString).replace(/([^=]+)=([^&]+)/g,
            function(all, key, value) {
                queries[key.replace(/^&/,'')] = value;
            }
        );
        return queries;
    }
QueryStringToJsonObject(responseText) ["CODRET"] //1