PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回

PHP/Ajax/jquery/JSON - Take a part from echo text back as a variable after Ajax Post

本文关键字:Ajax 一部分 变量 返回 文本 JON- jquery Post PHP 之后 echo      更新时间:2023-09-26

我正在开发一个简单的Ajax post方法,下面是我的代码:

     <script type="text/javascript">
    jQuery(document).ready(function($) {

      $(window).scroll(function() {
           if($(window).scrollTop() + $(window).height() == $(document).height()) {
                var nextUrl = "<?PHP echo $nexturl;?>";
                $('#Loading').show();
                $.ajax({
                  url: 'ajax.php',
                  type: 'POST',
                  dataType: 'html',
                  data: {
                    next_url: nextUrl
                  },
                }).done(function ( html ) {
                  $('#LoadedResults').html( html );
                  $('#Loading').hide();
                });

             }
    });
    });
  </script>

此代码将邮件数据发送到ajax.php:

<?PHP
 function callInstagram($url)
    {
    $ch = curl_init();
    curl_setopt_array($ch, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => 2
    ));
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
    }

    $client_id = "1e0f576fbdb44e299924a93cace24507";
    $Next_URL = $_POST["next_url"];
    $url =  $Next_URL;
    $inst_stream = callInstagram($url);
    $results = json_decode($inst_stream, true);
    $maxid = $results['pagination']['next_max_id'];
    $nexturl = $results['pagination']['next_url'];
    //Now parse through the $results array to display your results... 

     echo json_encode(array(
        'next_url_link' => $nexturl
      ));

ajax.php正在将结果回显为:

{"next_url_link":"https:'/'/api.instagram.com'/v1'/tags'/sweden'/media'/recent?count=24&client_id=1e0f576fbdb44e299924a93cace24507&max_tag_id=1427904820688670"}

我到处看,我认为有一些json方法可以得到next_url_link的结果。

所以,伙计们,我如何才能取回为next_url_link打印的结果,并设置为活动的jQuery/JavaScript变量?

例如:

 var NextUrlLink = data.next_url_link;

有可能在家里吗?我应该创建两个.ajaxpost方法还是如何创建,我不知道?

提前感谢!

使用函数JSON.parse()。以下是您将如何做到这一点:

.done(function ( html ) {
                  var data = JSON.parse(html);
                  //now use data.next_url_link
                  $('#LoadedResults').html(data.next_url_link);
                  $('#Loading').hide();
                });

也许您可以使用success函数来检索您在json 中编码的数据

var NextUrlLink = []; //declare it as a global variable or somewhere within the same level or scope of where you want to use it so that you can use it
$.ajax({
                  url: 'ajax.php',
                  type: 'POST',
                  dataType: 'json',
                  data: {
                    next_url: nextUrl
                  },
                  success:function(data){
                     NextUrlLink = data.next_url_link;
                  }
                })