苏飞论坛

标题: jquery post 无法执行回调函数? [打印本页]

作者: 站长苏飞    时间: 2013-3-25 14:29
标题: jquery post 无法执行回调函数?
无法浏览网页()  14:14:43
问兄弟们一个事情
jquery post 无法执行回调函数?
[重庆]版主-Eagle()  14:15:42
可以啊
站长苏飞<sufei.1013@163.com>  14:15:51
你先看看有没有执行?调试一下,肯定是可以的
无法浏览网页()  14:15:51
我执行不了
[重庆]版主-Eagle()  14:16:10
你好好看jquery的文档格式
无法浏览网页()  14:16:11
      [code=csharp]  function searchDis() {
            var modelId = $('#selModels').val();
            alert(modelId);
            $.post(location.href, { "model": modelId, "action": "query", "page": "1", "rows": "20", "sort": "JSON_seq_id", "order": "asc" },
               function (data) {
                   debugger;
                   var obj = $.parseJSON(data);
               }, "json");
        }[/code]
[重庆]版主-Eagle()  14:16:17
是不是你写错了啊
无法浏览网页()  14:16:33
这是返回的json
[code=html]{
"rows":[
{ "JSON_station_code_e":"BS_GJ06","JSON_count(oc.vin_e)":"1"},
{ "JSON_station_code_e":"BS_GJ05","JSON_count(oc.vin_e)":"3"},
{ "JSON_station_code_e":"BS_bt110","JSON_count(oc.vin_e)":"3"}
],
"total":1,
}[/code]
[重庆]版主-Eagle()  14:17:07
json都返回了,还说没结果
无法浏览网页()  14:17:20
我说的是回调的那个function
没有执行
我要解析返回的json
无法浏览网页()  14:18:20
[code=html]function (data) {
                   debugger;
                   var obj = $.parseJSON(data);
               }   这个function 没有执行[/code]
[重庆]版主-Eagle()  14:18:20
调试一下
调试,是最好的解决方式
无法浏览网页()  14:19:09
function 进不去 怎么调试呀?
站长苏飞<sufei.1013@163.com>  14:19:26
function 少个参数吧
[code=html]$().ready(function () {
  $('#selectNum').change(function () {
    var idValue = $(this).val();
    //采用POST方式调用服务
    $.post('Server.aspx', { id: idValue }, function (text, status) { alert(text); });
  })
})[/code]
Kaelthas<>  14:20:03
参数没问题
回调里面的代码都删掉 alert 一下
看看能不能alert
无法浏览网页()  14:22:27
没有执行alert
可以远程协助下?
站长苏飞<sufei.1013@163.com>  14:23:46
调试会吗?
直接调试看看
无法浏览网页()  14:24:39
debugger;调试?
站长苏飞<sufei.1013@163.com>  14:24:53
调试JS,
直接调试看看,使用Firbug就行
无法浏览网页()  14:26:07

站长苏飞<sufei.1013@163.com>  14:26:29
在Function处打断点看看
无法浏览网页()  14:27:05
我自己搞麻烦了,用ie挂到vs调试了
Kaelthas<>  14:27:22
IE挂到VS调试也行
无法浏览网页()  14:27:37
我自己调试 试试!
站长苏飞<sufei.1013@163.com>  14:27:54
调试一下应该就知道什么问题了。


作者: 站长苏飞    时间: 2013-3-25 14:32
使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求。$.post方法是jQuery的实用工具方法。
$.post方法语法
  1. $.post(url,parameters,callback)
  2. 参数       
  3. url        (字符串)服务器端资源地址。
  4. parameter        (对象)需要传递到服务器端的参数。 参数形式为“键/值”。
  5. callback        (函数)在请求完成时被调用。该函数参数依次为响应体和状态。
  6. 返回值        XHR实例
复制代码
看个简单的例子
客户端代码:
[code=html]<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$().ready(function () {
  $('#selectNum').change(function () {
    var idValue = $(this).val();
    //采用POST方式调用服务
    $.post('Server.aspx', { id: idValue }, function (text, status) { alert(text); });
  })
})
</script>
</head>
<body>
<select id="selectNum">
  <option value="0">--Select--</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
</body>
</html>[/code]
服务端主要代码
[code=csharp]protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    if (Request["id"] != null && !string.IsNullOrEmpty(Request["id"].ToString()))
    {
      Response.Write( GetData(Request["id"].ToString()));
    }
  }
}

protected string GetData(string id)
{
  string str = string.Empty;
  switch (id)
  {
    case "1":
      str += "This is Number 1";
      break;
    case "2":
      str += "This is Number 2";
      break;
    case "3":
      str += "This is Number 3";
      break;
    default:
      str += "Warning Other Number!";
      break;
  }
  return str;
}[/code]


作者: 平凡的真实    时间: 2013-3-25 14:45
学习了
作者: 站长苏飞    时间: 2013-3-25 16:02
这个是最后作者的json字符串格式最后多了个,号,所以代码是没有问题的




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4