2013-02-14 36 views
1

我是ajax的新手,我发现从客户端向服务器发送数据非常容易,反之则难以实现。如何在ajax调用后从服务器接收字符串

我想要的是发送一些参数到我的asp服务器,并在回调完成时收到一个字符串作为回报。
这是我的呼吁AJAX:

$.ajax(
     { url: "Default.aspx"}, 
     { ajaxPost:"post", 
      ajaxPostValName: name, 
      ajaxPostValDate: currdate, 
      ajaxPostValFile: file, 
      ajaxPostValCell: cell, 
      ajaxPostValChannel: channel}).done(
       function ("need string result from here") { "do my string parsing here" }); 

我试图在做FUNC使用“数据”变种获取数据,但我得到了整个页面。

意见建议?

感谢

+0

看看.done函数的语法 – 2013-02-14 14:32:24

+1

标记网页的方法(而不是整个页面)作为webmethod并调用它,发回你想要的东西。示例“default.aspx/mymethod” – 2013-02-14 15:37:36

+0

嗨马克,我按照你的建议在公共方法上添加了[WebMethod]属性,但现在ajax调用似乎不会召唤这个方法,甚至是Page_Load。也许我做错了什么? – moshe 2013-02-15 13:54:35

回答

0

你只需要呼应的东西在你的Default.aspx并调用你的Ajax这样

$.ajax({ url: "Default.aspx"}, { ajaxPost:"post", ajaxPostValName: name, ajaxPostValDate: currdate, ajaxPostValFile: file, ajaxPostValCell: cell, ajaxPostValChannel: channel}).done(
function (data) { 
    //do what you want with the data variable 
}); 
+0

感谢Philippe,但是如果我回显字符串,它只会将其添加到数据,所以我得到我的字符串附加整个页面。我只需要字符串作为结果(我可能想解析它以后作为JSON)。 – moshe 2013-02-14 15:13:31

+0

我不确定要理解,你的数据变量包含整个页面加上你想要的字符串吗? – 2013-02-14 15:37:50

+0

是的。在服务器上执行echo之前,数据var被页面本身填充,并且在完成echo之后,var会填充想要的字符串+页面内容。似乎回声将字符串连接到返回的数据结果中,该结果已经被页面内容填充 – moshe 2013-02-15 14:03:06

相关问题