THIS PROBLEM IS NOW SOLVED. THANK YOU TO EVERYONE WHO REPLIED.
Merhaba,
Ben yanlış yönden yaklaştı olabilecek bir sorunu çözmeye çalışıyorum, belki birileri daha iyi bir çözüm hatırlatıyoruz.
Ben bir arama işlevi vardır ki, iş için küçük bir web uygulaması yazıyorum. Kullanıcı bir arama dizesi gönderdiğinde, form CodeIgniter kontrolöre yayınlanmıştır alır. Arama bir sonuç döndürürse, CodeIgniter sonuçları ile bir sayfayı yükler. Hiçbir sonuç varsa, kullanıcının geçerli sayfayı sadece sonucu geri döndü Arama herhangi bir belirti olmadan, yeniden alır. Yani, bu hiç de kullanıcı dostu değil ve i $.ajax()
bazı yardımıyla, yeniden yapmaya karar verdi.
That was rather easy, but now I am stuck trying to figure out what to do with the data i receive back, if search is successful.
I know $.load()
can replace a part of the page, but i need to redirect the user to a completely different page, while POSTing the data
my ajax search just returned. The data that comes back from PHP is in json_encode()
format.
NOTE: $.jGrowl()
, bir Growl gibi mesaj görüntüleyen bir jQuery eklentisi.
$("#alias_s").submit(function() {
event.preventDefault();
var term = $('input#alias_search').val();
$.post("<?=base_url()?>aliases/searchAliases", {
searchTerm: term },
function(data) {
if(!data) {
$.jGrowl("Search for '" + term + "' returned no results", { life: 5000 });;
} else {
//
// How do i post this data to another page and redirect a user there?
//
}
});
UPDATE: Ben bu konuda bir çalışma etrafında bulmayı başardılar.
I $.post()
döndü ve $.load()
sırayla veriler ve yükler doğru görünümü dosyaları alır, geri aynı kontrolör için POST kadar kullanımı veri almak. Sadece olumsuz, küçük şeylerden çift tatili bu URL hala aynı, ama ben başa çıkabilirim ...
$('#content').load("<?=base_url()?>aliases", { searchData: data});
UPDATE #2: Sonunda istediğim gibi çalışması yaptı. I ne yaptığını, JSON formatında PHP döndürülen verileri alıp tekrar aynı denetleyiciye post it, ve CodeIgniter yükleme görünümleri dikkat, bütün URL bağımlı şeyler çok çalışıyor bu şekilde atalım.
$('<form action="CONTROLLER" method="post"><input type="hidden" id="searchData" name="searchData" value='+data+'></form>').appendTo($("body")).submit();
2 uyarılar olsa vardı.
appendTo($("body"))
bu formu Firefox doğru göndermek yapmak gerekiyordu.POST ilk boşluktan sonra benim json dize keserek, bu yüzden ben bu düzeltirim php
str_replace()
kullanmak zorunda kaldı.echo str_replace ('', '% 20', json_encode ($ search_results));
THIS PROBLEM IS NOW SOLVED. THANK YOU TO EVERYONE WHO REPLIED.