2013-02-19 111 views
0

任何人都可以告訴我我在做什麼錯在下面的代碼。我想Ajax一個XML(無論是文本/ XML或應用程序/ XML)到我的REST服務(相同的應用程序服務器)。錯誤的請求(400)錯誤時使用jQuery Ajax與XML

當我這樣做時,我得到錯誤代碼400錯誤的請求。

$.ajax({ type: 'POST', 
    url: '<url>', 
    data: '<?xml version="1.0" encoding="UTF-8"?><test>Hello World</test>', 
    contentType: 'text/xml', 
    dataType: 'xml', 
    processData: false, 
    cache: false, 
    error: function (xhr, ajaxOptions, thrownError) { 
     alert(xhr.status +' '+thrownError); 
    }, 
    success: function(xml) { 
     alert('it works: '+xml); 
    } 
}); 

任何幫助將不勝感激。

+1

通過Javascript不會發生400錯誤,它發生在服務器上。您應該指定您正在使用的服務器端技術是否發佈相關代碼。 – 2013-02-19 16:05:22

+0

@ Ek0nomik你是對的。這似乎是我的REST服務的問題。如果你想添加你的答案作爲答案,我會接受它。謝謝 – Zyga 2013-02-19 16:31:21

回答

1

通過Javascript不會發生400錯誤,它發生在服務器上。您應該指定您正在使用的服務器端技術併發布相關代碼。羅伯特·弗裏克的回答可能會讓服務器端的問題更加清晰。

2

你是否真的用相對URL url: '<url>',打電話給你的服務器?這可能是一個大問題。這是一個非常錯誤的請求..

http://yourserver.com/<url> 

你的代碼應該改爲:

url: '/myrestservicepath', 
0

您提供給阿賈克斯調用的URL是相對路徑,所以你需要小心,確保你傳遞正確的值