2011-03-02 31 views
0

我寫了jQuery的一個功能,它完美的作品在本地主機上使用相同的設置jQuery的序列化()不工作在我的網站

$('#resumey_graduation_add').live("click",function(){ 

    var dataString=$('#job_form').serialize(); 

    $.ajax({ 
     type: 'GET', 
     url: 'app.php?name=job&op=resumey_graduation_add', 
     data: dataString, 
     cache: false, 
     beforeSend: function() { 
      $("#resumey_graduation_showall").html("<img src='images/loading.gif' />"); 
     }, 
     success: function(data2) { 
      $("#resumey_graduation_showall").html(data2); 
     } 
    }); 
    return false; 
}); 

,但我的主機,它不工作的移動,當它和加載失敗數據 。

加載顯示,但不是結果!

jQuery的版本都進行測試,並沒有一次成功

有什麼不對的,因爲沒有JSON啓用或有關這些東西序列化()jQuery中expample?!

+0

你確定你的服務器上安裝了「app.php」嗎? – Pointy 2011-03-02 16:40:34

+0

你能提供一個到託管網站的鏈接嗎? – 2011-03-02 16:41:13

+0

您是否檢查過ajax請求實際上正在外出?什麼是服務器端腳本看到進來?如果它期望提交常規表單,並且您發送的是序列化數據,那麼它不會爲您魔法般地反序列化它。 – 2011-03-02 16:42:06

回答

0
Since you are doing 
type= get , data= $('#job_form').serialize(), url=Someurl.php?a=b&c=d 

您的網址必須得到轉化爲 Someurl.php?A = B & C = d & props_from_form(名稱值對

做這樣

$.ajax({ 
     type: 'POST', 
    other things .... 

發送通過GET表格可能會導致非常大的URL,並可能被服務器忽略。

+0

我知道如何將其更改爲正常的ajax功能!我需要以序列化的方式來做,因爲我必須以這種形式發送200個輸入值。 – 2011-03-02 16:58:56

+0

由於您發送200個名稱/值對並使用GET方法,因此您的url必須變得很大,並且您的服務器必須在255個字符後忽略。 – 2011-03-02 17:12:20

+0

255?放棄東西! http://stackoverflow.com/questions/2659952/maximum-length-of-http-get-request – ken 2011-03-02 17:19:55