JavaScript XMLHttpRequest无法将参数传输到服务器

JavaScript XMLHttpRequest无法将参数传输到服务器,javascript,ajax,xmlhttprequest,Javascript,Ajax,Xmlhttprequest,我检查了服务器端,直接使用浏览器GET或jquery.ajax GET调用,它可以返回正确的页面。也就是说,服务器端没有问题 但是,当我尝试使用以下代码进行ajax调用时,我总是会遇到500个内部服务器错误。奇怪的是,我检查了控制台日志,似乎参数没有成功传输到服务器。访问服务器时的“type”和“source”参数均为null 相关代码如下所示。newXMLHttpRequest()只是一个为不同浏览器返回正确对象的方法,该方法已被验证为正确 有人知道哪里出了问题吗 function updat

我检查了服务器端,直接使用浏览器GET或jquery.ajax GET调用,它可以返回正确的页面。也就是说,服务器端没有问题

但是,当我尝试使用以下代码进行ajax调用时,我总是会遇到500个内部服务器错误。奇怪的是,我检查了控制台日志,似乎参数没有成功传输到服务器。访问服务器时的“type”和“source”参数均为null

相关代码如下所示。newXMLHttpRequest()只是一个为不同浏览器返回正确对象的方法,该方法已被验证为正确

有人知道哪里出了问题吗

function updatePage(html){
    var change =html;
    var contents = document.getElementById("contents");
        contents.innerHTML = change;
}

function submit(){
    var t = document.getElementById("type").value;
    var source = document.getElementById("src").value;

    var req = newXMLHttpRequest();
    req.onreadystatechange = getReadyStateHandler(req, updatePage);
    req.open("GET", "RSSFetchServlet.do",true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send("type="+t+"&source="+source);
}
意味着服务器端脚本有问题,而不是客户端脚本。检查语法错误,缺少
并且可能缺少声明

修复500个错误-常规

此错误只能通过修复Web服务器软件来解决。这不是客户端问题。由Web服务器站点的操作员查找和分析日志,日志应提供有关错误的进一步信息


尝试将参数附加到url上

req.open("GET", "RSSFetchServlet.do?type="+t+"&source="+source,true);
req.send();

实际问题是,只有在使用POST时,才能使用request.send方法发送参数。否则,req不会将数据封装到URL中。

否,因为我无法将“type”和“source”参数传输到服务器,所以得到500。服务器没有任何问题,但是ajax调用没有正确地传输这两个参数…@YitongZhou尝试在url中添加参数,而不是在
上。send()
我也尝试了,但不起作用。。。还是500。我开始怀疑url编码问题或任何其他奇怪的事情…我甚至将代码粘贴到console.log并运行,仍然是500,这意味着它不是html视图页面中的错误,唯一可能的位置是这些js代码。你在Fiddler中看到了什么?@SLaks仅使用Chrome控制台,那么Fiddler可以做得更好吗?你是想提出一个
GET
还是
POST
请求?你是否检查了
t
并且
source
有值?(在你的
Submit()
)中@NewDeveloper我检查了它们,它们确实有值。