将jquery链接发布到调用ASHX asp.net

3

I have this function:

function exportdata(ID) {

   $.ajax({
          type: "POST",
          url: "export.ashx?ID=" + ID,
          data: "{}",
          /*contentType: "application/json; charset=utf-8",*/
          dataType: "json"
        }); 
}

它能够正常工作,但是当我在Chrome的开发者工具中打开控制台选项卡时,我看到了一些错误:

POST http://localhost:1111/export.ashx?ID=1 undefined (undefined)
POST http://localhost:1111/abc.aspx undefined (undefined)

我该如何解决这个问题?

提前感谢。

3个回答

1

可能是由于这个原因引起的:

data: "{}",

当您使用大括号将数据发送到$.ajax时,您不需要在它们周围加引号:

data: {},

当你想以这种方式发送数据时,引号就会派上用场:

data: "name=John&location=Boston",

此外,data不是必需的。如果您没有发送任何数据,请省略它。
jQuery ajax文档:http://api.jquery.com/jQuery.ajax/

0
传入的参数是ID,而你在代码中使用了tripID。这可能是原因吗?
试试这个。
function exportdata(tripID) {

   $.ajax({
          type: "POST",
          url: "export.ashx?ID=" + tripID,
          data: "{}",
          /*contentType: "application/json; charset=utf-8",*/
          dataType: "json"
        }); 
}

0

如果您不想发布任何数据,只是想传递一个查询字符串变量,那么您必须使用GET:

    $.ajax({
      type: "GET",
      url: "export.ashx?ID=" + ID         
    }); 

是的,甚至可能更简单。GET 是默认值,所以 type: 可以完全省略,你觉得呢? - jk.
如果你使用的是“GET”,那么它不可能是一个POST请求。 - rick schott
另外,ID是否已定义?你能否警告(ID)? - rick schott
看起来 abc.aspx 是另一个页面。也许是调用页面,不确定。OP从未说明 abc.aspx 是什么,我们也不知道那个页面在做什么。 - jk.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接