解决方案 »

  1.   

     这样试下
    $.ajax({
            type: "POST",
            url: "WebService1.asmx/RefreshSouce",
    contentType: "application/json",
            data:' {"CompanyID":0}',
            dataType: 'xml', //返回的类型为XML ,和前面的Json,不一样了
            success: function (result) {
                //演示一下捕获
                try {
                    $(result).find("Table1").each(function () {
                        //$('#dictionary').append($(this).find("xName").text() + " " + $(this).find("Value").text());
                        var varItem = new Option($(this).find("xName").text(), $(this).find("xName").text());
                        //document.getElementById("SltType").options.add(varItem)
                        $('#SltType').optioins.add(varItem);
                    });
                }
                catch (e) {
                    alert(e);
                    return;
                }
            },
            error: function (result, status) { //如果没有上面的捕获出错会执行这里的回调函数
                if (status == 'error') {
                    alert(status);
                }
            }
        });
      

  2.   

    不好意思,上面的web service 贴错了,是没有parameter的,如下:
    另外,楼上的朋友,我看你的代码除了传进一个parameter,还有加了一句:
    contentType: "application/json",   我加这一句后还是会在success:function(result)这里出错,直接跳到error: function (result, status) 了。   <WebMethod(enablesession:=False, Description:="Company Refresh Source", messagename:="RefreshSource")>
        Public Function RefreshSource() As DataSet
            Dim dsResult As DataSet
            Dim DA As SqlClient.SqlDataAdapter
            Dim tbError As DataTable
            Try
                DA = New SqlClient.SqlDataAdapter("sp_company;5", SqlCon)
                dsresult = New DataSet
                DA.SelectCommand.CommandType = CommandType.StoredProcedure
                DA.Fill(dsresult)
                DA.Dispose()
                DA = Nothing
                EndSQLCon()
                Exit Try
            Catch ex As Exception
                tbError = New DataTable
                GetErrorDescription(tbError, ex.ToString, "RefreshSource")
                dsResult.Tables.Add(tbError)
                Exit Try
            Finally
                EndSQLCon()
                If Not DA Is Nothing Then
                    DA = Nothing
                End If
                If Not tbError Is Nothing Then
                    tbError = Nothing
                End If
            End Try        Return dsResult
        End Function
      

  3.   

    或者有什么方法可以从Web  service中获得数据,然后添加到 select list 中?