基本上,我正在为 Javascript 动态生成一个JSON 数组,然后我正在执行一个 Ajax 调用,它从 API 返回JSON数据,我想检查来自Ajax JSON 响应的对象内的值,看看它是否与我的匹配JSON 数组,我尝试过以下操作:
我的动态 JSON 数组- JSON.php
global $wpdb;
$Ids = array();
$table_name = $wpdb->prefix . "videos";
$idList = $wpdb->get_results("SELECT `videoId` FROM `$table_name`");
foreach($idList as $ID) {
$Ids[] = $ID->videoId;
}
echo json_encode(array('IdList' => $Ids));
我的动态 JSON 输出示例- JSON.php
{"IdList":["47","55"]}
我的动态 JSON 数组- Javascript
var Ids = null;
jQuery.ajax({
type: "GET",
url: pluginURL + "/JSON.php",
data: "ajaxAction=getIds&rand="+Math.floor(Math.random()*10000),
success: function(data) {
Ids = jQuery.parseJSON(data);
},
error: function() {
alert("Error");
}
});
这就是生成存储在我的数据库中的 ID 数组的代码,然后我想使用AJAX调用从 API 返回JSON 响应来检查这些 ID,这是返回 API 响应的代码
jQuery.ajax({
type: "GET",
url: apiURL + "video/" + Username,
success: function(data) {
Parsed = jQuery.parseJSON(data);
jQuery.each(Parsed.user_media, function(i,v){
id = v['id'];
if(jQuery.inArray(id,Ids['IdList']) !== -1) {
//this isn't working!
}
});
},
});
AJAX 调用的示例数据输出
{"user_media":[{"id":"2"},{"id":"44"}]}
如您所见,我尝试使用jQuery.inArray()
无济于事,我不确定为什么,因为我可能只是解析错误