Home > Blockchain >  How to change text in a value in an AJAX function?
How to change text in a value in an AJAX function?

Time:06-05

Is there a way to change data you receive when you GET data from an API? I'm new at using AJAX to get API data from TikTok and can get the embed code. The problem I'm having to how to change data once you've gotten it. I've used .find() and .replaceWith() and I get an error message saying find is not a function and replacewith is not a function.

The code that you get back from TikTok API for embedding a video on your site looks like this:

<blockquote >

and I need to change the class to call it something else:

<blockquote >

My code so far:

$('.btn').click(function() {
  
  $('.text').text('loading . . .');
  
  $.ajax({
    type:"GET",
    url:"https://www.tiktok.com/@fatcapsprays/video/7105385471500455174",
    success: function(data) {
      // Problem is here
      $('.text').text(JSON.stringify(data.html));
    },
    dataType: 'JSON',
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" >Click me!</button>
<p >Code</p>

P.S. TikTok seems to be having problems accessing it's API as of this post for me.

CodePudding user response:

You can replace the class name in the string using String.prototype.replace method: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

Using your example:

  $.ajax({
    type:"GET",
    url:"https://www.tiktok.com/@fatcapsprays/video/7105385471500455174",
    success: function(data) {
      // Problem is here
      $('.text').text(JSON.stringify(data.html.replace('tiktok-embed', 'tiktok-video'));
    },
    dataType: 'JSON',
  });
});

p.s. - According to the TikTok documentation, you should be making your requests to https://www.tiktok.com/oembed?url=UrlToYourVideo not the direct video link See: https://developers.tiktok.com/doc/embed-videos

CodePudding user response:

search on google with key "jquery api". you can find anything provided api by author to manipulate your DOM.

On your problem, i think you can use api addClass function to manipulate class of DOM

https://api.jquery.com/

  • Related