【问题标题】:Pass Variable from $.ajax() to ASMX Web Service将变量从 $.ajax() 传递到 ASMX Web 服务
【发布时间】:2012-10-02 22:04:57
【问题描述】:

谁能告诉我如何将变量从 $.ajax() 调用传递到 ASMX Web 服务?

网络服务:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;

public class Psyience
{
    public int ID;
    public string Choice;
    public string First;
    public string Last;
    public string Email;
}
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.Web.Script.Services.ScriptService]
[System.Web.Script.Services.GenerateScriptType(typeof(Psyience))]
public class CRUD : System.Web.Services.WebService
{

    [WebMethod]
    public Psyience[] Anchor()
    {
        List<Psyience> items = new List<Psyience>();
        string constr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["myConString"].ConnectionString;
        SqlConnection con = new SqlConnection(constr);
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandText = "select Choice from tbl_Psyience WHERE Choice = 'Anchor'";
        try
        {
            con.Open();

            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                Psyience item = new Psyience();
                item.Choice = dr["Choice"].ToString();
                items.Add(item);
            }
            con.Close();
            return items.ToArray();
        }
        catch
        {
            return null;
        }
    }

}

这里是 jQuery:

$(document).ready(function () {
    $.ajax({ type: "POST",
        url: "Services/CRUD.asmx/Anchor",
        data: "{ }",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var result = response.d;
            var myRecord = "";
            $.each(result, function (index, res) {
                myRecord = res.Choice;
            $('#myDiv').append(myRecord);
            });

        },
        error: function (msg) {
            $('#myErr').html("Error while calling web service,,")
        }
    });
});

我想将一个字符串值从 jQuery 传递到我的 Web 服务中的命令文本。

"select Choice from tbl_Psyience WHERE Choice = 'passVarToHere'"

不知道如何做到这一点。

提前致谢。

【问题讨论】:

    标签: jquery .net web-services


    【解决方案1】:

    您在 ajax 请求的 data 属性中执行此操作

    data: { 'Choice' : yourchoice },  // Yourchoice in string
    

    您的 WebMethod 将接受一个字符串参数

    public Psyience[] Anchor(string Choice)
        {
    

    【讨论】:

      【解决方案2】:

      当然,“选择”变量可以从文本框控件中获取值,如下所示:

      var passvartoHere = $("#txtbox").val();
      

      编辑:我的解决方案将与上面已经发布的解决方案结合使用。

      【讨论】:

      • 非常感谢您的帮助。干杯。
      猜你喜欢
      • 2014-09-24
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 2018-12-07
      • 2015-02-15
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多