AJAX客户端 - 服务器通信 [英] ajax client-server communication

查看:79
本文介绍了AJAX客户端 - 服务器通信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我问一个问题,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的=服务器>
    < D​​IV>
    < 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客户端 - 服务器通信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆