2014-10-08 174 views
0

我正在研究项目并面临问题。无法找到我的代码中有什么问题。以下是我的代码,不知道为什么Ajax url无法获取Default.aspx的ReceivedMessageByIndexNumber函数。谢谢。通过Ajax传递参数

的JavaScript:

ReceivedMessage(1); 

    function ReceivedMessage(indexNumber) 
    { 
     $.ajax({ 
      type: "Post", 
      url: "Default.aspx/ReceivedMessageByIndexNumber?indexNumber="+indexNumber, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 
       var data = response.d; 
       for (var i = 0; i < data.length; i++) { 
        alert(data[i]); 
       } 
      }, 
      failure: function (msg) { 
       $('#output').text(msg); 
      } 
     }); 
    } 

的Default.aspx:

[WebMethod] 
    public static bool ReceivedMessageByIndexNumber(int textIndex) 
    { 
     string connectionString = @"Data Source=localhost;Initial Catalog=NotificationSystem;Integrated Security=True"; 
     using (SqlConnection connection = new SqlConnection(connectionString)) 
     using (SqlCommand command = connection.CreateCommand()) 
     { 
      connection.Open(); 
      command.CommandText = @"SELECT TextWord FROM TextProperty WHERE TextIndex = '" + textIndex + "'"; 
      command.ExecuteNonQuery(); 
      return true; 
     } 
    } 
+0

你的查询字符串参数预计将在服务器的服务器(textIndex) – 2014-10-08 14:00:34

+0

我这样做,但再次同样的问题@代码(indexNumber)来命名有不同的名称主要曼 – user3817516 2014-10-08 14:02:13

+0

我的答案是否适合您或发生了什么?如果它确实有效,你可以将它标记为答案?谢谢。 – Carter 2014-10-09 18:37:38

回答

0

这是一个HTTP POST方法,但你想传递参数就像是一个HTTP GET。我从来没有见过它写在哪里你可以指定URL中的参数像HTTP GET。

注意我在下面添加了JSON数据行。这是填写您的发布请求。

data: '{textIndex: "' + indexNumber + '" }', 

整函数:

function ReceivedMessage(indexNumber) 
{ 
    $.ajax({ 
     type: "Post", 
     url: "Default.aspx/ReceivedMessageByIndexNumber", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     data: '{textIndex: "' + indexNumber + '" }', 
     success: function (response) { 
      var data = response.d; 
      for (var i = 0; i < data.length; i++) { 
       alert(data[i]); 
      } 
     }, 
     failure: function (msg) { 
      $('#output').text(msg); 
     } 
    }); 
} 
+0

这个工作适合你吗?如果是这样,那么将它标记为答案会很好。 – Carter 2014-10-08 19:49:26

0

request.so你需要在请求主体,而不是URL添加参数您正在执行职务。所以改变你Ajax调用

function ReceivedMessage(indexNumber) 
    { 
     $.ajax({ 
      type: "Post", 
      url: "Default.aspx/ReceivedMessageByIndexNumber?indexNumber="+indexNumber, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      data: "{'textIndex': " + indexNumber+ "}", 
      success: function (response) { 
       var data = response.d; 
       for (var i = 0; i < data.length; i++) { 
        alert(data[i]); 
       } 
      }, 
      failure: function (msg) { 
       $('#output').text(msg); 
      } 
     }); 
    } 
0
function ReceivedMessage(indexNumber) 
{ 
    $.ajax({ 
     type: "Post", 
     url: "/Default/ReceivedMessageByIndexNumber/", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     data: { textIndex: indexNumber }, 
     success: function (response) { 
      var data = response.d; 
      for (var i = 0; i < data.length; i++) { 
       alert(data[i]); 
      } 
     }, 
     failure: function (msg) { 
      $('#output').text(msg); 
     } 
    }); 
}