Ако всичко, което искам да направя, е да изпратя формуляр на PHP процесор с POST данни и да получа резултата, има ли причина да използвам метода ajax над метода на зареждане на jQuery?
Използването на Ajax изисква куп код срещу нещо много просто на един ред в jQuery по следния начин:
$("#myDIV").load("myProcessor.php", {field1: target.value});
Хм, може би това работи добре само с едно поле? Съжалявам, просто се връщам в JS.
Отговори:
0 за отговор № 1$(element).load(...)
автоматично ще вмъкне отговора на сървъра в избрания елемент като html (jQuery документация за .load ()). Това може да доведе до това сървърът ви да изложи информация за заявката директно на потребителя, което вероятно не е това, което искате да направите.
$.ajax()
също така позволява много фин контрол върху това, което се случва по време на заявката. Можете точно да прихващате изключения и да създавате обратно повикване, когато заявката завърши успешно. Това са всички причини да се използват $.ajax()
над $(element).load(...)
. Ако обаче вашият само притеснението е изпращането на данните в заглавката на POST и работата с отговора, след което се използва $.post
с функция за обратно повикване вероятно ще бъде най -простият подход. http://api.jquery.com/jQuery.post/
0 за отговор № 2
- Най-
.load
методът е приблизително еквивалентно на $ .get (url, data, успех) (SRC). - Най-
.get
метод е стенография Ajax функция (SRC).
За обикновен ajax разговор, .load е подходящ. Използвайте .ajax
ако искате да се справите със специални параметри.
PS: Ако не искате дебела рамка като jQuery, погледнете тук: http://microjs.com/#ajax
0 за отговор № 3
От уебсайта на jQuery за зареждане
Този метод е най -простият начин за извличане на данниот сървъра. то е приблизително еквивалентен на $ .get (url, data, success), с изключение на това, че е a метод, а не глобална функция и има имплицитно обратно извикване функция. Когато бъде открит успешен отговор (т.е. когато textStatus е "успех" или "немодифициран"), .load () задава HTML съдържанието на съвпадащ елемент с върнатите данни.
можеш да четеш разлика между товара ajax в StackOverflow.
Но, load
не е за изпращане на формуляр с помощта post
метод. И двете POST
и GET
са различни методи и работят по различен начин, данните се подават с помощта GET
метод ще бъде наличен в $_GET
масив, но не и в $_POST
.