JQuery. Olsun () sadece url ilk iki veri parametreleri geçirerek

2 Cevap php

Ben bir $ var. () 4 GET parametreleri alan bir PHP sayfası için çağrı olsun. Nedense, $ vererek rağmen. () Tüm 4 çağrı olsun, sadece ilk iki geçer. Ben krom dev konsolunda baktığımızda, o çağrılır URL'yi gösterir ve sadece eylem ve dbname geçer. İşte kod:

$.get('util/util.php', { action: 'start', dbname: db, url: starturl, crawldepth: depth }, function(data) {
        if (data == 'true') {
            status = 1;
            $('#0').append(starturl + "<ul></ul>");
            $('#gobutton').hide();
            $('#loading').show("slow");
            while(status == 1) {
                setTimeout("update()",10000);

            }
        } else {
            show_error("Form data incomplete!");
        }
    });

ve heres ben geliştirici konsolunda gördüğünüz URL:

http://localhost/pci/util/util.php?action=start&dbname=1hkxorr9ve1kuap2.db

** EDIT ** I have been informed that I need to encode the URL that I am trying to pass through the header. How would I go about encoding it in javascript, and decoding it in php?

2 Cevap

Eğer depth değişkenler starturl ve tanımlandığından emin misiniz? Basit bir alert() $ önce. () Kontrol etmek için yeterli olacaktır olsun.

Düzenlemeden gelince, size encodeURIComponent fonksiyonu ile JavaScript dizeleri kodlamak. Ve urldecode ile PHP tekrar geri çözmek. Her ikisi de bir string argüman alır.

Muhtemelen sizin giriş dizeleri düzgün kote olup olmadığını kontrol etmek gerekir. Dahili olarak jQuery onun param() yöntemini kullanarak belirtilen parametre haritasının dışına Parametresi dize inşa edecek. Bu yöntem, yanlış tuşları ve değerleri kote ise büyük olasılıkla parseable olmayacak anahtarları ve değerleri, bir nesne oluşturmak olacaktır.

@ Felix Kling: jQuery otomatik encodeURIComponent ile parametre dize anahtarlarını ve değerlerini kodlar.