- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用我的 Wordpress 网站进行 AJAX 调用。除了来自 SUCCESS 函数的数据的 ORDER(排序)之外,它一切正常。
如果我print_r ($service)
我验证了我想要的正确自定义订单
但发送后使用:
(PHP 文件)
public function closest_services() {
global $wpdb;
$servicios_repetidos = $_POST['servicios_repetidos'];
$lat = $_POST['latitud'];
$lng = $_POST['longitud'];
$categoria = array();
$unit = $_POST['unit'];
$distancia = $_POST['radius'];
if ( $unit == 'km' ) { $earth_radius = 6371.009 / 1.609344 ; }
elseif ( $unit == 'mi' ) { $earth_radius = 3958.761; }
$sql = $wpdb->prepare( "
SELECT DISTINCT
p.ID AS service_ID,
p.post_title AS service_title,
map_lat.meta_value AS locLat,
map_lng.meta_value AS locLong,
%f * 2 * ASIN(SQRT( POWER(SIN(( %f - map_lat.meta_value ) * pi()/180 / 2), 2)
+ COS( %f * pi()/180) * COS( map_lng.meta_value * pi()/180)
* POWER(SIN(( %f - map_lng.meta_value) * pi()/180 / 2), 2) ))
AS distance
FROM $wpdb->posts p
INNER JOIN $wpdb->postmeta map_lat ON p.ID = map_lat.post_id
INNER JOIN $wpdb->postmeta map_lng ON p.ID = map_lng.post_id
WHERE 1 = 1
AND p.post_type = 'servicios'
AND p.post_status = 'publish'
AND map_lat.meta_key = 'et_meta_latitud'
AND map_lng.meta_key = 'et_meta_longitud'
HAVING distance <= %d
ORDER BY distance DESC",
$earth_radius,
$lat,
$lat,
$lng,
$distancia
);
$closest_services_query = $wpdb->get_results( $sql );
$servicio = array();
foreach ( $closest_services_query as $single_service ):
$servicio[$single_service->service_ID]["service_ID"] = $single_service->service_ID;
$servicio[$single_service->service_ID]["meta_fields"] = get_post_custom( $single_service->service_ID );
$servicio[$single_service->service_ID]["service_author"] = get_post_field ( 'post_author' , $single_service->service_ID );
$servicio[$single_service->service_ID]["service_author_avatar"] = get_avatar( $single_service->service_ID , '64');
$servicio[$single_service->service_ID]["service_author_url"] = bp_core_get_user_domain( $single_service->service_ID );
$servicio[$single_service->service_ID]["category"] = get_the_terms( $single_service->service_ID , 'servicios-categoria');
$servicio[$single_service->service_ID]["service_title"] = $single_service->service_title;
$servicio[$single_service->service_ID]["thumb_url"] = wp_get_attachment_image_src( get_post_thumbnail_id( $single_service->service_ID ) , 'medium' );
$servicio[$single_service->service_ID]["distancia"] = $single_service->distance;
$servicio[$single_service->service_ID]["precio_servicio_visibilidad"] = get_post_meta( $single_service->service_ID , 'et_meta_precio_visibilidad' , true);
if ( function_exists( 'get_favorites_button' ) )
$servicio[$single_service->service_ID]["favorite_button"] = get_favorites_button( $single_service->service_ID );
endforeach;
//print_r($servicio);
wp_send_json($servicio);
}
(JQUERY 文件)
function ajax_mapa () {
var center = map.getCenter();
latitud = center.lat();
longitud = center.lng();
jQuery( "body" ).after( "<div class='loading'>Loading…</div>" );
jQuery.ajax({
url: ajax_object.ajax_url,
type: "POST",
dataType: "JSON",
data: {
'action' : 'closest_services',
'latitud' : latitud,
'longitud' : longitud,
'categoria' : categoria,
'servicios_repetidos' : servicios_repetidos,
'unit' : 'km',
'radius' : 15
},
success: function( data, textStatus, jqXHR ) { // Si todo salio bien se ejecuta esto
console.log(data);
console.log(textStatus);
console.log(jqXHR);
var servicios = [];
var precio;
var moneda;
var url_imangen;
var html_marker;
jQuery.each( data, function( id_servicio, info_servicio ) { ... ...});
} ... ...
...
}) ...
} ...
DATA 的 LOG 显示按 KEY VALUE 排序的对象,而不是之前发送的自定义顺序。
如果我从 jqXHR.responseText
检查日志,它有我想要的正确顺序,所以基本上数据接收正常,但有些东西正在改变顺序。
所以,问题是,有人知道为什么 DATA 按 KEY VALUE 排序吗?我该如何解决这个问题?
(具有正确顺序的 jqXHR 日志 - 按距离)
"{"144":
{"service_ID":"144","distancia":"6.043960511486238"},"110":{"service_ID":"110","distancia":"6.040024571156195"},"112":{"service_ID":"112","distancia":"6.040024571156195"},"113":{"service_ID":"113","distancia":"6.040024571156195"},"114":{"service_ID":"114","distancia":"6.040024571156195"},"119":{"service_ID":"119","distancia":"6.040024571156195"},"145":{"service_ID":"145","distancia":"6.040024571156195"},"194":{"service_ID":"194","distancia":"5.025501693483518"},"163":{"service_ID":"163","distancia":"4.985331564912346"},"161":{"service_ID":"161","distancia":"1.3274942401635288"}}"
(顺序不正确的数据日志 - 按 key ID)
Object { 110: Object, 112: Object, 113: Object, 114: Object, 119:Object, 144: Object, 145: Object, 161: Object, 163: Object, 194:Object }
谢谢
最佳答案
不确定这是否是最佳解决方案,但我设法通过将 OBJECT 转换为数组然后对数组进行排序来使其工作。
基本上我添加了这段代码:
/* ********************** */
// ordeno por distancia
/* ********************** */
var arr = jQuery.map(data, function(value, key){
return value
});
function SortByName(a, b){
var aName = a.distancia;
var bName = b.distancia;
return ((aName > bName) ? -1 : ((aName < bName) ? 1 : 0));
}
arr.sort(SortByName);
/* ********************** */
就在 de jQuery.each( arr , function( id_servicio, info_servicio ) { ... ...});
函数之前
关于arrays - Ajax DATA 更改排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45363926/
只是想知道这些结构之间有什么区别(text、data、rodata、bss 等)在链接描述文件中: .data : { *(.data) } .data : { *(.data*) }
Data 定义为其核心功能之一 gfoldl : gfoldl :: (Data a) => (forall d b. Data d => c (d -> b) -> d -> c b)
以下之间有什么区别:data-sly-use、data-sly-resource、data-sly-include 和 数据-sly-模板?我正在阅读 Sightly AEM 上的文档,我非常困惑。
我有一个 Spring Boot、Spring Data JPA (hibernate) Web 应用程序,并且想引入文本搜索功能。 我理解以下内容 hibernate search 或 spring
我不知道我的代码有什么问题。我读了其他有同样问题的人的一些问题,但没有找到答案。当我尝试编译时出现以下错误: ||In function 'main':| |35|error: expected ex
我不太确定为什么会收到此错误或其含义。我的数据框称为“数据”。 library(dplyr) data %>% filter(Info==1, Male==1) %>% lm(CFL_
我一直在 GitHub 等更现代的网站上看到这些属性,它们似乎总是与自定义的弹出窗口一致,如 title 属性。 Option 1 Option 2 Option 3 Option 4 我在 HTML
如何用 iCloud Core Data 替换我现有的 Core Data?这是我的持久商店协调员: lazy var persistentStoreCoordinator: NSPersistent
我一直在 GitHub 等更现代的网站上看到这些属性,它们似乎总是与自定义的弹出窗口一致,如 title 属性。 Option 1 Option 2 Option 3 Option 4 我在 HTML
我正在通过 this project 在 Android 上摆弄 node.js ,我需要一种方法将 js 文件部署到私有(private)目录(以隐藏源代码,防止用户篡改),该目录也物理存在于文件系
大家好我有点沮丧,所以我希望得到一些帮助。我的项目在 SwiftUI 中。我想使用图像选择器将图像保存到 Core Data。我实现了让 ImagePicker 工作,但我正在努力转换 Image -
我有以下数据和代码: mydf grp categ condition value 1 A X P 2 2 B X P 5
我一直在努力解决这个问题,但我根本找不到任何解决问题的方法。希望这里有人可以提供帮助。 我正在尝试为具有以下结构的某些数据创建个人选择矩阵: # A tibble: 2,152 x 32 a
我了解 Data.Map.Lazy 和 Data.Map.Strict 是不同的。但是,当您导入 Data.Map 时,您究竟导入了什么:严格的、惰性的还是两者的组合? 最佳答案 懒人。看着docs
我正在开发一个 C 程序,用于从 BerkeleyDB DBTree 数据库中提取数据值与特定模式匹配的记录。我创建数据库,打开它,将键的 DBT 和数据的另一个 DBT 清零,将 DBT 标志设置为
所以我有以下成员(member)历史表 User_ID | Start date | End Date | Type(0-7) | ---------------------------
随着最近推出的包dataframe ,我认为是时候正确地对各种数据结构进行基准测试,并突出每种数据结构的优势。我不是每个人的不同优势的专家,所以我的问题是,我们应该如何对它们进行基准测试。 我尝试过的
我有来自 API 的数据,但无法将数组中的数据设置为 vue.js 中的 this.data这是来自 API 的数据(JSON) 你能告诉我这个语法吗 {"id":1613, "name_org":"
在 Vue.js到目前为止,我已经找到了两种定义数据的方法:data: {} 和 data() { return; }. data: { defaultLayout: 'default' }
我正在研究Spring Data Rest Services,并在自定义拦截器中遇到一些问题。之前我使用spring-data-rest-webmvc 2.2.0并以以下方式添加了拦截器。 publi
我是一名优秀的程序员,十分优秀!