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 class="tiktok-embed">
and I need to change the class to call it something else:
<blockquote class="tiktok-video">
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" class="btn">Click me!</button>
<p class="text">Code</p>
P.S. TikTok seems to be having problems accessing it’s API as of this post for me.
2
Answers
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:
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 linkSee: https://developers.tiktok.com/doc/embed-videos
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/