Неопределенная ошибка при вызове веб-сервиса asp.net с внешней HTML-страницы

0

Я чист к asp.net и веб-сервисам. Я разрабатываю приложение HTML 5, которое вызывает веб-сервис asp.net. Я опубликовал свой веб-сервис asp.net на IIS7, и он отлично работает, но когда я вызываю веб-сервис через внешний HTML 5 JQuery, он дает мне неопределенную ошибку.

Ниже приведен мой код веб-сервиса:

using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

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


}

Мой код Jquery:

// JavaScript Document
 $(document).ready(function() {

         $.ajax({
                type: "POST",
                url: "http://localhost/mywebserice/Service.asmx?op=HelloWorld",
                Content-Type: 'application/x-www-form-urlencoded',
                dataType: "xml",
                data: '{}',
                 success: function(){
                    alert("Success");
                },
                error: function(){
                    alert("Error");
                }
        });
});

Мой код HTML5 IS:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="jquery-1.10.2.js"></script>
<script type="text/javascript" src="newJS.js"></script>
</head>

<body>
</body>

</html>

Может ли кто-нибудь помочь мне решить эту проблему?

  • 0
    сделайте ваш url в jQuery ajax следующим образом: http://localhost/mywebserice/Service.asmx/HelloWorld
  • 0
    Спасибо за ваш ответ. но когда я устанавливаю URL для localhost / mywebserice / Service.asmx / HelloWorld, он ничего не показывает
Теги:
web-services

1 ответ

0

Неправильные атрибуты настройки jQuery ajax.

во-первых, нет такого атрибута, как Content-Type. Используйте contentType.

во-вторых, вы указали неправильную структуру своего URL-адреса. Структура ajax url должна быть такой:

   domain/ServiceName.asmx/MethodName?anyParamters=value

вы также можете указать относительный URL-адрес, если страница, с которой вы звоните в веб-сервис и веб-сервис, относится к одному и тому же домену i, e,

   ~/ServiceName.asmx/MethodName?anyParamters=value

измените вашу функцию ajax на это:

$.ajax({
         type: "POST",
         url: "http://localhost/mywebserice/Service.asmx/HelloWorld",
         contentType: 'application/x-www-form-urlencoded',
         dataType: "xml",
         data: {},
         success: function (msg) {
              alert($(msg).text());
              //console.log($(msg).text());
         },
         error: function(xhr, status, error){
                  console.log("Error");
          }
});

вы можете прочитать обо всех возможных атрибутах jQuery ajax здесь. Попробуй

Ещё вопросы

Сообщество Overcoder
Наверх
Меню