#php #jquery #arrays #each
#php #jquery #массивы #каждый
Вопрос:
В основном, что я делаю, это создаю своего рода систему приглашений, пользователь нажимает на пользователей, и они переходят в список, все работает, я могу получить их идентификаторы с помощью each (), но мне нужно передать это через jQuery Ajax в php, чтобы отправить его в базу данных для уведомлений. Это в основном то, что у меня есть:
$(".group-video-create").click(function(){
var url = $(".group-input-url").val();
var exp = /(b(https?|ftp|file)://[-A-Z0-9 amp;@#/%?=~_|!:,.;]*[-A-Z0-9 amp;@#/%=~_|])/ig;
var checked_url = url.match(exp,"<a href='$1'>$1</a>");
if(checked_url)
{
$("#group-input-names li").each(function(){ // This is the relevant code
var user_id = $(this).attr("id"); // Here too
}); // amp; here
if(user_id)
{
$.ajax({
type: "POST",
//url: "",
//data: "", //this would be an array of all of the ids, (could be 1, could be 100).
cache: false,
success: function(html){
///Once all invitations have been sent to the database it would then load a new div and hide the previous one.
}
});
}
}
});
если вы хотите увидеть, чего я пытаюсь достичь, просто перейдите сюда:
http://www.kithell.com/#/video
usr: PhpFreak@yahoo.com передача: phpfreaklogin
Это в разделе групповое видео. (Вы должны быть автоматически перенаправлены туда после входа в систему)
Комментарии:
1. jQuery пишется «jQuery», никогда «Jquery».
Ответ №1:
Возможно, вы сможете использовать jQuery.serialize для объединения всех данных вашей формы. Кроме того, jQuery.post — это хороший ярлык для выполнения запроса POST с помощью jQuery.ajax
.
Грубый пример может выглядеть так:
$.post( '/my-ajax-service.php',
$('#MyForm').serialize(),
function(data, txtStatus, jqXHR) {
//Do stuff
});
Ответ №2:
Вот одна из возможностей
http://jsfiddle.net/nickywaites/9GZ2e/
$(function() {
//I would use jQuery Map to build Array
//http://api.jquery.com/map/
var ids = $("#group-input-names li").map(function() {
return $(this).attr("id");
}).get(); //Get Required to convert to regular javascript array
console.log(ids);
var invites = {}
invites.users = ids;
//Then use JSON.stringify() to pass array to server
//https://github.com/douglascrockford/JSON-js
if (ids.length > 0) {
$.ajax({
type: "POST",
//url: "",
data: JSON.stringify(invites),
cache: false,
success: function(html) {}
});
}
});