问题描述
我问一个问题,previously本网站上关于AJAX客户端 - 服务器通信。
我得到了很多的帮助。但仍然无法数字出来,所以再次提出这个问题。
我米试图从我的JavaScript网页... Default.aspx的发送存储在变量mem_ID'的值到我的服务器端 - 。Default.aspx.cs页
JavaScript的: -
< ASP:按钮的ID =Button6=服务器背景色=银
的OnClientClick =store_memID()的风格=保证金左:20px的文本=提交
WIDTH =102px字体,粗体为真高度=28px/>
<脚本类型=文/ JavaScript的SRC =HTTP://$c$c.jquery.com/jquery-1.9.0.min.js> < / SCRIPT>
<脚本类型=文/ JavaScript的>
//函数来caputure客户输入 - Member_ID。
传播store_memID(){
//'TextBox3'是服务器端的ID。为了让我们做下面的客户端ID: -
mem_ID =的document.getElementById('<%= TextBox3.ClientID%>')值。
//返回确认(时间线显示:'+ mem_ID);
阿贾克斯();
}
功能AJAX(){
$阿贾克斯({
网址:Default.aspx的/的MyMethod,
键入:POST,
的contentType:应用/ JSON的;字符集= UTF-8,
数据:JSON.stringify({memID:mem_ID}),
成功:函数(结果){
警报(result.d);
}
});
}
< / SCRIPT>
服务器端: -
公共部分类_Default:System.Web.UI.Page
{
保护无效的Page_Load(对象发件人,EventArgs的)
{
}
//定义页面的方法。
[WebMethod的]
公共静态字符串的MyMethod(字符串mem_ID)
{
返回的String.Format(谢谢你给我打电话id为:+ mem_ID);
}
`多个code here` ....
但是,我仍然没有得到从服务器返回的任何答复。从服务器端:我期待的回报......谢谢你给我打电话用ID。任何想法?
我在加入的MyMethod断点,对响应线,在服务器端,并且没有命中。所以我假定这条线是连移动的影响。
我新来Asp.net和Ajax。并需要关于这一主题的帮助。
<表格ID =Form1的=服务器>
< DIV>
< ASP:按钮的ID =Button6=服务器背景色=银
的OnClientClick =store_memID()的风格=保证金左:20px的文本=提交
WIDTH =102px字体,粗体为真高度=28px/>
<脚本类型=文/ JavaScript的SRC =HTTP://$c$c.jquery.com/jquery-1.9.0.min.js> < / SCRIPT>
<脚本类型=文/ JavaScript的>
//函数来caputure客户输入 - Member_ID。
传播store_memID(){
VAR mem_ID;
//'TextBox3'是服务器端的ID。为了让我们做下面的客户端ID: -
mem_ID =的document.getElementById('<%= TextBox3.ClientID%>')值。
//返回确认(时间线显示:'+ mem_ID);
阿贾克斯(mem_ID);
}
功能AJAX(mem_ID){
警报(mem_ID);
$阿贾克斯({
网址:Default.aspx的/的MyMethod,
键入:POST,
的contentType:应用/ JSON的;字符集= UTF-8,
数据:JSON.stringify({memID:mem_ID}),
成功:函数(结果){
警报(result.d);
}
});
}
< / SCRIPT>
< ASP:文本框的id =TextBox3=服务器>< / ASP:文本框>
< / DIV>
< /形式GT;
在您的code的背后
[WebMethod的]
公共静态字符串的MyMethod(字符串memID)
{
返回的String.Format(谢谢你给我打电话id为:+ memID);
}
该方法U所做的一切是正确的execpt,
从阿贾克斯传递的数据应该与网络的方法声明的字符串元素。
I asked a question previously on this site about ajax client-server communication.
I got a lot of help. but still cant figure it out, so re-asking the question.
I m trying to send the value stored in the variable 'mem_ID' from my javascript page...Default.aspx to my server side - Default.aspx.cs page.
Javascript:-
<asp:Button ID="Button6" runat="server" BackColor="Silver"
onclientclick="store_memID()" style="margin-left: 20px" Text="Submit"
Width="102px" Font-Bold="True" Height="28px" />
<script type = "text/javascript" src ="http://code.jquery.com/jquery-1.9.0.min.js"> </script>
<script type = "text/javascript">
// Function to caputure client-input- Member_ID.
function store_memID() {
// 'TextBox3' is the server side ID. To get the client side ID we do the following:-
mem_ID = document.getElementById('<%=TextBox3.ClientID%>').value;
//return confirm('TimeLine is displayed for: ' + mem_ID);
ajax();
}
function ajax(){
$.ajax({
url: 'Default.aspx/MyMethod',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ memID: mem_ID }),
success: function (result) {
alert(result.d);
}
});
}
</script>
Server side:-
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
// Defining a page method.
[WebMethod]
public static string MyMethod(string mem_ID)
{
return string.Format("Thanks for calling me with id: " + mem_ID);
}
` more code here`....
However, I still don't get any reply in return from the server. I am expecting the return "Thanks for calling me with ID: ..... " from the server side. Any ideas?
I added a breakpoint in MyMethod, on the response line, on the server side, and there was no hit. so I am assuming that this line is not even being traversed.
I m new to Asp.net and Ajax. and need help on this topic.
<form id="form1" runat="server">
<div>
<asp:Button ID="Button6" runat="server" BackColor="Silver"
onclientclick="store_memID()" style="margin-left: 20px" Text="Submit"
Width="102px" Font-Bold="True" Height="28px" />
<script type = "text/javascript" src ="http://code.jquery.com/jquery-1.9.0.min.js"> </script>
<script type = "text/javascript">
// Function to caputure client-input- Member_ID.
function store_memID() {
var mem_ID;
// 'TextBox3' is the server side ID. To get the client side ID we do the following:-
mem_ID = document.getElementById('<%=TextBox3.ClientID%>').value;
//return confirm('TimeLine is displayed for: ' + mem_ID);
ajax(mem_ID);
}
function ajax(mem_ID) {
alert(mem_ID);
$.ajax({
url: 'Default.aspx/MyMethod',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ memID: mem_ID }),
success: function (result) {
alert(result.d);
}
});
}
</script>
<asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
</div>
</form>
In Your Code Behind
[WebMethod]
public static string MyMethod(string memID)
{
return string.Format("Thanks for calling me with id: " + memID);
}
The method u have done all was right execpt,
The data passing from ajax should match the string Element declared in the Web-method.
这篇关于AJAX客户端 - 服务器通信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!