jQuery - изпращане на заявка

semprom

Registered
Здравейте.
Има ли начин да изпратя POST заявка към уеб сървър с jQuery примерно и той докато обработва заявката да може пак да се браузва в сайта? Не знам дали го обясних добре :D
 
Това може да стане с AJAX
[js]$(function() {
$("#sendmsg").click(function () {
$.post("sendmsg.php", {
msgname : $("#msgname").val()
}, function(response) {
if(response == "ok")
{
alert("USPEX");
}
else
{
alert("ERROR");
}
});
});
});[/js]

Това го слагаш например в sendmsg.php

PHP:
<?php

$name = $_POST['msgname'];
if(strlen($name) != 0) {
print "ok";
}
?>

Това е просто пример. Можеш да си променяш каквото си искаш
 
Не мисля, че ме разбра.
Имам следния jQuery код:

Код:
function do_start() {
	var post_option1 = $("#option1").val();
	var post_option2 = $("#option2").val();
	if (option) {
		$.post("../start", { option1: post_option1 , option2: post_option2 } );
	}
}

Всичко ОК, но след като изпрати заявката до start, докато не се изпълни тя, не мога да цикъм никаде в сайта, защото само зарежда ... Как може да се оправи този проблем? :/
 
Опитай така: (това е JS код)

function get_data(param1, param2, ....){



$.ajax({
type: "POST",
url: "get_data_from_server.php",
data: 'param1=' + param1 + '&param2=' + param2 + '&param ...' + paramN,
success: function(response){

ТУК ОБРАБОТВАШ ИНФОРМАЦИЯТА ОТ СЪРВЪРА

НАПРИМЕР ....

$('#target_div_id').html(response);

}
});

}
 
Сега гледам документацията на jQuery, и там пише, че заявките по подразбиране са асинхронизирани, което означава, че не би трябвало да забива докато заявката се извършва. За да става това трябва да е синхронизирано. Все пак сложи флага async на true, за да е по-сигурно.
http://api.jquery.com/jQuery.ajax/
 
Когато е асинхронно обработката ще продължи когато се изпълни заявката, аз го правя по начина които съм дал и става без проблем. Само резултата от заявката трябва да се обработва след успешното и напълно завършване на заявката.
 

Back
Горе