AJAX调用中的URL

时间:2012-03-14 10:54:14

标签: javascript ajax jquery

我在将页面重定向到另一个页面之前将数据保存在文本框中。当用户点击页面的页面加载功能中的后退按钮时(在javascript中)我从文本框中获取数据,如

var pageval = $('#grid')
 .load('/Dealer/AllClaims?page=5&__=634673230919806673 #grid', CallBackFunction);

我想使用上述数据中的URL发送AJAX调用。来自/Dealer/AllClaims?page=5&__=634673230919806673 #grid。所以我用javascript中的(.replace())替换了'pageval'不必要的数据。现在我把它存储为

var urlmain = '/Dealer/AllClaims?page=5&__=634673230919806673 #grid';

当我发送一个带有'urlmain'的AJAX调用时,如

$.ajax({
    type: "GET",
    url: urlmain,

    success: function (data) {
        $("#allclaimsdiv").html(data);
    },

它会像'找不到状态'那样抛出错误,因为网址就像

的http://本地主机:46408 /经销商/%22Dealer / GetDealerClaims页= 3及__ = 634673387913756213

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

在用户点击后退按钮之前,URL中存在上述粗体数据。我认为这是连接数据。

但出于测试目的,我直接将URL指定为:

$.ajax({
    type: "GET",
    url: "/Dealer/AllClaims?page=5&__=634673230919806673 #grid",

    success: function (data) {
        $("#allclaimsdiv").html(data);
    },

然后它工作正常。

这两者有什么区别?为什么不起作用?

3 个答案:

答案 0 :(得分:1)

您在调用的网址中遇到问题:

首先:有一个/ 22代表网址编码的双引号

第二:您在网址中有两次经销商 - 所以您可能需要从urlmain

中删除/经销商

答案 1 :(得分:0)

是否有引号字符在某行的某处编码?我想知道的是你以粗体显示的URL中包含“%22”:

http://localhost:46408/Dealer/%22Dealer/

有关某些字符编码的信息,请参阅here

答案 2 :(得分:0)

500错误表示您的网络服务器出现问题。检查您的服务器日志文件或启用错误报告以获取更多信息 - 这可能会给您一些提示,甚至可以告诉您到底出了什么问题。