Ajax arama çalışmıyor

2 Cevap php

Ben jQuery ve Ajax ile bir PHP komut dosyası gönderen bir form var. PHP komut dosyası bazı XML döndürür. Nedense Ajax başarı fonksiyonu ateş edilmez ve hata olanları.

Ben yanlış gidiyorum herkes nereye görebilir miyim?

Şöyle Benim jQuery

$('#submit-excuse').submit(function (event) {
        event.preventDefault();
        ws_url = 'http://jacamo.epiphanydev2.co.uk/content/inc/excuse-submit.php?excuse='+$('input#excuse').val();
        $.ajax({
            type: 'GET',
            url: ws_url,
            dataType: "xml",
            beforeSend: function() {
                $('p#response').text('Sending.');
            },
            success: function(xmlIn) {
                results = xmlIn.getElementsByTagName("ReportID");
            },
            error: function() {
                $('p#response').text('Error.');
            }
        });
    });

Ve aşağıdaki gibi benim PHP komut dosyası:

$excuse = $_GET['excuse'];

$badwords = array (
    'one',
    'two',
    'three',
    'four',
    'five'
);

if ($excuse == '') {
    $error = 'enter something';
} else {                
    foreach ($badwords as $word) {
        $pos = strpos($excuse, $word);
        if($pos !== false) {
            $passed = false;
        }
    }

    if ($passed !== false) {
        $username = 'xxxxx';
        $password = 'xxxxx';

        $message = $excuse;
        $url = 'http://twitter.com/statuses/update.xml';

        $curl_handle = curl_init();
        curl_setopt($curl_handle, CURLOPT_URL, "$url");
        curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
        curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl_handle, CURLOPT_POST, 1);
        curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
        curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
        $buffer = curl_exec($curl_handle);
        curl_close($curl_handle);

        $passed = 'yes';
    } 

    echo "<?xml version='1.0' encoding='UTF-8'?>\n";
    echo "\t<result>\n";
    echo "\t\t<passed>" . $passed . "</passed>\n";
    echo "\t</result>";
}

Teşekkürler

2 Cevap

JQuery geri sorgudan bir xml yanıt bekliyor. Sen xml başlığı göndermek gerekiyor. header ("content-type: text/xml"); sizin xml önce eklemeyi deneyin ve bu işleri görmek

AJAX JSON içine bakmak, bunun için, farklı etki alanlarında kullanılamaz.

Bu benim nasıl kullandığımız:

JQuery tarafı:

var server = ‘http://www.yoursite.com/path/to/map/’;
var name = ‘Peter’;
var lastname = ‘Marcoen’;
$.getJSON(server+’getData.php?callback=?’,{name:name,lastname:lastname}, function(data) {
alert(data); //Do your thing
});

PHP-side:

$name = $_REQUEST['name'];
$lastname = $_REQUEST['lastname'];
$return = ‘Hello ‘ . $name . ‘ ‘ . $lastname;
echo $_GET['callback'] . ‘(’ . json_encode($return) . ‘)’;