GVKun编程网logo

使用Jquery AJAX从ASP.NET Web服务器获取对象

7

如果您想了解使用JqueryAJAX从ASP.NETWeb服务器获取对象的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析asp.net–使用ajax/jquery的未知Web方法、asp.ne

如果您想了解使用Jquery AJAX从ASP.NET Web服务器获取对象的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析asp.net – 使用ajax / jquery的未知Web方法、asp.net – 如何使用jquery“jsonp”调用外部Web服务?、asp.net – 如何在不重置会话超时的情况下使用AJAX从服务器获取信息?、asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码_jquery的各个方面,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

使用Jquery AJAX从ASP.NET Web服务器获取对象

使用Jquery AJAX从ASP.NET Web服务器获取对象

我正在尝试使用 Jquery Ajax post方法调用asp.net Web服务,如:

$.ajax({
    type: "POST",url: this._baseURL + method,data: data,contentType: "application/json; charset=utf-8",dataType: "json",success: fnSuccess,error: fnError
});

在服务器端,我有web方法,看起来像

public myClass myWebMethod(Guid Id) { ... }

问题是我得到一个错误,回复说“500内部服务器错误”和

Invalid web service call,missing value for parameter: \u0027Id\u0027.

我试过这个数据:

‘{“Id”:“thisistheid”}’和'{Id:thisistheid}’

……以及我在例子中找到的许多其他组合.

有没有人知道如何处理这个问题?

解决方法

试试吧

data : {Id :"thisistheid"}

在对象周围没有引号

asp.net – 使用ajax / jquery的未知Web方法

asp.net – 使用ajax / jquery的未知Web方法

ERROR: unkNown web method DoIt Parameter name: methodName

我正在尝试将日期传递给由VB.NET提供支持的数据库查询功能,但我遇到了网络问题.

var dat = $("#Date").val(); //textBox with a date    

$.ajax({
                    type: "POST",url: "file.aspx/DoIt",cache: false,contentType: "application/json; charset=utf-8",data: {param:dat},dataType: "json",success: function (data,status) {
                        var response = $.parseJSON(data.d);
                        alert(response.message);
                        alert(status);
                    },error: function (xmlRequest) {
                        alert(xmlRequest.status + ' \n\r ' + xmlRequest.statusText + '\n\r' + xmlRequest.responseText);
                    }
                });

file.aspx.vb文件:

(在文件的末尾)

<System.Web.Services.WebMethod()> _
Public Function DoIt(ByVal param As String) As String
    UpdateDB(param) 'function is above
End Function

我不完全确定什么是出错或意味着什么; /

解决方法

可能值得检查的是确保您的数据库设置为接收datetime数据类型.

您还可以在Web服务声明中尝试:

<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
<WebMethod()> _
Public Function DoIt(ByVal param As String) As String
    UpdateDB(param) 'function is above
End Function

参考:webservice – unknown web method parameter name methodname

asp.net – 如何使用jquery“jsonp”调用外部Web服务?

asp.net – 如何使用jquery“jsonp”调用外部Web服务?

我之前有一个问题 can jquery ajax call external webservice?

一些优秀的开发人员回答我使用jsonp,但我不知道如何使用它,我试图使用此代码调用我的服务:

$.ajax({
            type: "POST",url: "http://localhost:1096/MySite/WebService.asmx?callback=?",data: "{}",contentType: "application/json; charset=utf-8",dataType: "jsonp",success: function(msg) {alert(msg);}
            });

这是我的服务代码:

[WebMethod]
public string HelloWorld() {
    return "Hello World " ;
}

任何人都有例子或可以为我解释这个问题?

更新:
我再次编写代码是这样的:

$.getJSON("http://localhost:1096/YourShoppingTest1/WebService.asmx/HelloWorld?jsonp=?",{name:"test"},function(data){
    alert(data.x);
    });

和这样的服务:

[WebMethod]
public string HelloWorld(string name)
{
    return "( {\"x\":10,\"y\":100} )";
}

但它总是在回来时给我这个错误:“丢失;在声明之前
[打破此错误]({“x”:10,“y”:100})“

并且从不调用成功函数,任何人都可以帮忙吗?

解决方法

我有一个类似的问题,不幸的是我没有手头的代码.

从记忆里:

>将[ScriptService]作为属性添加到Web方法中
>还要更改您的网址以调用HelloWorld过程.
像http://localhost:1096/MySite/WebService.asmx/HelloWorld?callback这样的东西

见:What are some good examples of JQuery using JSONP talking to .net?& What is the best way to call a .net webservice using jquery?

asp.net – 如何在不重置会话超时的情况下使用AJAX从服务器获取信息?

asp.net – 如何在不重置会话超时的情况下使用AJAX从服务器获取信息?

我想在客户端上向我的Web应用程序(ASP.NET,IIS 7)发出定期后台请求,但我不希望该请求影响ASP.NET会话超时.

有没有办法做到这一点?

解决方法

您必须避免使用您的请求发送cookie,因为这是会话ID的传输方式.

如果你有一个xmlHTTPRequest对象,你可以通过调用xmlHTTPRequest.setRequestHeader(“Cookie”,“”)删除你的cookie头;

asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码_jquery

asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码_jquery

首先贴上Jquery的ajax:

复制代码 代码如下:

$.ajax({
url: ''ws_Ajax.asmx/BindDictByUpper'',
type: ''POST'',
contentType: ''application/json;charset=utf-8'',
dataType: ''json'',
data: ''{ PpareId:"'' + varlue + ''"}'',
success: function (data) {
var dataObj = eval("(" + data + ")");
// $(''#myList'').html('''');
// for (var i = 0; i // $(''#myList'').append(''
  • '' + msg.d[i] + ''
  • '');
    // }
    alert(dataObj);
    $.each({ name: "John", lang: "JS" }, function (i, n) {
    alert("Name: " + i + ", Value: " + n);
    });
    $.each(dataObj, function (idx, item) {
    if (idx == 0) {
    return true; //同countinue,返回false同break
    }
    alert("name:" + item[''name''] + ",value:" + item[''value'']);
    });
    },
    //data: ''{query:"'' + $(''#editQuery'').val() + ''"}'',
    processData: false
    });

    好,前台写好,建一个webservice页,写上方法:
    复制代码 代码如下:

    ///
    /// Datatable转换为Json
    ///

    /// Datatable对象
    /// Json字符串
    public static string ToJson(DataTable Adt)
    {
    StringBuilder jsonString = new StringBuilder();
    jsonString.Append("[");
    foreach (DataRow pdr in Adt.Rows)
    {
    jsonString.Append("{");
    jsonString.AppendFormat("name:\"{0}\",value:\"{1}\"", pdr["字典内容"].ToString(), pdr["序号"].ToString());
    jsonString.Append("},");
    // jsonString.AppendFormat("{name:''{0}'',value:''{1}''},", pdr["字典内容"].ToString(), pdr["序号"].ToString());
    }
    jsonString.Remove(jsonString.Length - 1, 1);
    jsonString.Append("]");
    return jsonString.ToString();
    }

    然后尝试着运行,这是出问题列,无论怎样运行都不能调到后台方法:
    最后在网上查列好久
    才发现在新建的webservice页少了一句关键的话:

    复制代码 代码如下:

    [System.Web.Script.Services.ScriptService]


    在类前面加上这句话就可以了
    加上以后再运行,好,可以调到后台了
    后台的数据也发送到前台
    但又出现问题列,发过来的数据不能以解析出来json数据
    按网上说的,只要把ajax中的dataType设置为json就行了,但是实际上不行,然后在网上查了下:
    1、对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次
    2.对于服务器返回的JSON字符串,如果jquery异步请求将type(一般为这个配置属性)设为“json”,或者利用$.getJSON()方法获得服务器返回,那么就不需要eval()方法了,因为这时候得到的结果已经是json对象了,只需直接调用该对象即可,这里以$.getJSON方法为例说明数据处理方法
    但是我把他的dataType设置为json,应该直接可以用le?
    于是我把传回来的数据放在eval()方法里面处理了下,再调用就可以le?
    这样前台调出来的数据就可以直接按你需要的方式处理了。
    我这里还又一个疑问:
    我用这种方式取数为什么查不出来数据(我对json不是很熟,第一次用):
    复制代码 代码如下:

    $.each(data.root,function(idx,item){
    if(idx==0){
    return true;//同countinue,返回false同break
    }
    alert("name:"+item.name+",value:"+item.value);
    });
    });

    网上看的这样方式页可以调用json数据,知道的给解答下……

    我们今天的关于使用Jquery AJAX从ASP.NET Web服务器获取对象的分享已经告一段落,感谢您的关注,如果您想了解更多关于asp.net – 使用ajax / jquery的未知Web方法、asp.net – 如何使用jquery“jsonp”调用外部Web服务?、asp.net – 如何在不重置会话超时的情况下使用AJAX从服务器获取信息?、asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码_jquery的相关信息,请在本站查询。

    本文标签:

    上一篇jquery日期选择器不能在asp.net Web表单中工作(jquery日期选择控件)

    下一篇使用jQuery将多个参数传递给ASP.NET Web API