简体   繁体   English

从Ajax向Web服务传递参数

[英]Passing Parameter to Webservice from Ajax

i try to pass a Parameter to my Webservice and show the result in a textbox. 我尝试将参数传递给我的Web服务,并在文本框中显示结果。 My Webservice is working. 我的Web服务正在运行。 I invoked the Method in the Browser... I think that something is wrong with my Jquery. 我在浏览器中调用了方法...我认为我的Jquery出了点问题。

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="QRCode.aspx.cs" Inherits="QRCODE_QRCode"
    meta:resourceKey="Page" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register Assembly="System.Web.Ajax" Namespace="System.Web.UI" TagPrefix="asp" %>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >



<html>
<head id="Head1" runat="server">
   <title>Check-In & Check-Out </title>




<script language="javascript" type="text/javascript">


    function capture() {
        var urlValue = window.location;
        var urlText = urlValue.toString();
        var start = urlText.indexOf("=") + 1;
        var nameText = urlText.substring(start, urlText.length);
        document.getElementById('PanelID').value = nameText;
    }
    window.onload = capture


    function loadDate() {
           jQuery.support.cors = true;
           var PanelIDs = document.getElementById('PanelID').value;
          alert(PanelIDs);

          $.ajax({
              type: "POST",
              url: "http://entwicklung.de/Web/Service1.asmx/getDatetime",
              data: { "PanelIDs": PanelIDs },
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              success: function(data) {

                  $("#textbox").text(data.d);
              },
              error: function(jqXHR, textStatus, errorThrown) {
                  alert(jqXHR);
                  alert(textStatus);
                  alert(errorThrown);
              }


          });

        }



</script>
</head>
<body>

<h1>Check-In und Check-Out von Besprechungen</h1>

<form id="form1" runat="server">
  <p>
     <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">  
     </asp:ToolkitScriptManager>  

    Raum: <asp:TextBox type="text" name="Panels" id="PanelID" value="" runat="server"></asp:TextBox>
    <br /> <br />



<asp:textbox ID="textbox" mode="multiline" runat="server" Coloumns="20" Rows="4" 
          Height="230px" Width="405px"></asp:textbox>



<asp:Button ID="button" runat="server" Text="Check-In"  Width="99px" 
      OnClientClick="return loadDate();"   />

<asp:Button ID="button1" runat="server" Text="Check_Out" Width="99px" />




  </p>
</form>
</body>
</html>

What iam doing wrong? 我做错了什么? Thanks for help 感谢帮助

“数据”应该是一个对象,而不是JSON字符串:

data: { "PanelID": PanelIDs }

data: "{ 'PanelID': '" + PanelIDs + "' }" should be data: "{ 'PanelIDs' : '" + PanelIDs + "' }" 数据:“ {'PanelID':'” + PanelIDs +“'}”应该是数据:“ { 'PanelIDs :'” + PanelIDs +“'}”

The kay needs to match the property name 凯需要与属性名称匹配

首先测试您的网络服务网址,并且您的网络服务方法应该是公开的,并且您的网络服务网址应使用您的网络方法,例如

      url: "www.entwicklung.de/Web/Service1.asmx/getDatetime",

您可以调整data -PanelID (with s in the end)

data: "{ 'PanelIDs': '" + PanelIDs + "' }"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM