2016-04-22 5 views
0

У меня есть два проекта Asp. При закрытии диалогового окна в проекте A я пытаюсь вызвать статический веб-метод в проекте B с помощью ajax-вызова. Вместо вызова Web-метода он вызывает PageLoad.Ajax call to Webmethod, cross domain

Любые идеи, что я делаю неправильно?

WebMethod

[WebMethod] 
    public static string UpdateSession() 
    { 
     return "Test"; 

    } 

$(function() { 
$('div#DialogDiv').on('dialogclose', function (event) { 
    CloseDialog("http://localhost:1330/Application_Default.aspx/UpdateSession"); 
    return false; 
    }); 
}); 
function CloseDialog(URL) { 
jQuery.support.cors = true; 

$.ajax({ 
    type: "GET", 
    url: URL, 
    data: '{}', 
    contentType: "application/json; charset=utf-8", 
    dataType: "jsonp", 
    success: function (response) { 
     alert("success"); 
     }, 
    failure: function (response) { 
     alert("Failed to trying to find the method: " + URL); 
    } 
}); 
return false; 

}

ответ

0

Попробуйте это с чистым JavaScript

function CloseDialog(URL) { 

    var request = new XMLHttpRequest(); 
    request.open("GET", URL); 
    request.onload = function() { 
     if (request.status === 200) { 
      alert(request.responseText); 
      // to convert to JSON object-> JSON.parse(request.responseText); 
     } else { 
      alert("Failed to trying to find the method: " + URL); 
     } 
    }; 
    request.send(); 

    return false; 
} 

С JQuery я просто делаю это, вам не нужно больше. Он также должен работать с междоменным.

function CloseDialog(URL) { 

    $.ajax({ 
     url: URL, 
     success: function (response) { 
      jQuery.each(result.list, function(i, val) { 
       // iterate the JSON object 
       // val.node; 
      }); 
     }, 
     failure: function (response) { 
      alert("Failed to trying to find the method: " + URL); 
     } 
    }); 

    return false; 
} 
+0

спасибо, но такой же результат, как и моя версия, загрузка страницы все еще называется. – Bernie

+0

Ну, тогда я думаю, что ваш аякс-код в порядке! должен быть способом доступа к URL-адресу. Я не знаю, как вам помочь в этом вопросе. Сожалею! –