JQuery AJAX проблема - PullRequest
       2

JQuery AJAX проблема

1 голос
/ 19 июля 2011

Не совсем уверен, что здесь произошло.Я использую Visual Studio 2010 .NET 4. С помощью следующего кода я использовал JQuery 1.4.2 - с JQuery 1.4.2 код работал просто великолепно.Я вызываю метод restful WCF RESTFUL.

Я создал простой клиент со следующим кодом:

Type = "POST";
    Url = "http://localhost:60922/servicestart/SaveAllClients";
    ContentType = "application/json; charset=utf-8";

    DataType = "json"; ProcessData = true;
    method = "SavePersons";
    Data = JSON.stringify(formApplication);

    CallService();


function CallService() {

     $.ajax({
          type: Type, //GET or POST or PUT or DELETE verb
          url: Url, // Location of the service
          data: Data, //Data sent to server
          contentType: ContentType, // content type sent to server
          dataType: DataType, //Expected data format from server
          processdata: ProcessData,    //True or False
          success: function(msg) {//On Successfull service call
           ServiceSucceeded(msg);
          },
       error: ServiceFailed// When Service call fails
      });
     }

Теперь код restful в отдельном проекте:

[WebInvoke(UriTemplate = "SaveAllClients", Method = "POST", ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json)]
        [OperationContract]
        public string SavePersons(Person peeps)
        {

            string xml = string.Empty;

            XMLToolset x = new XMLToolset();
            xml = x.SerializeToXML(peeps);

            xml = peeps.SerializeToXML(peeps);

            // send xml to Oracle -


             string json = string.Empty;

            Person p = new Person();
            p.first_name = "Good";
            p.middle_name = "Happy";
            p.last_name = "GH";

            json = p.ConvertToJson(p);

            return json;

        }

Теперь, используя jquery 1.4.2, код работал очень хорошо - в основном это междоменный запрос.Я решил поменять jquery 1.4.2 на jquery 1.6.2 - чтобы оставаться в курсе - и хорошо - сейчас это не работает - он сообщает об ошибке обслуживания O.

Я изучилДокументация ajax и новые функции в jquery 1.5.2, а также некоторые вещи, такие как установка кросс-домена в true или использование jsonp, но ни одна из них не сработала.с точки зрения того, как функционирует AJAX?

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Ваш код не работает НЕ , потому что вы перешли с jQuery 1.4.2 на 1.6.2, а потому, что вы поместили службу WCF в отдельный проект.Так что я думаю, что вы разместили его в отдельном приложении => вы сейчас нарушаете ту же политику происхождения .И эта политика не имеет ничего общего с jQuery.Это ограничение браузера.

Поэтому, если вы хотите, чтобы это работало, вы можете настроить службу WCF на использование JSONP .

0 голосов
/ 19 июля 2011

Может быть, вы переместили свой сервис в отдельный проект, вызвавший эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...