无法通过MVC4 JQuery Ajax连接到服务

时间:2014-05-21 19:17:13

标签: jquery ajax asp.net-mvc-4

我是ASP.net,javascript,jquery,ajax等的新手。我曾经是一名WPF程序员,但已经交了一个Web应用程序来编写(我的第一个)并且面临很多问题。我有jquery / ajax调用我必须连接到WCF JSON REST服务(用Fiddler测试)。该服务工作正常,但我无法通过jquery连接到服务。我似乎也无法调试它(我以前在C#中直接进行调试,你如何调试这个?我在Chrome工具中尝试了这一点 - >开发人员工具,看起来它似乎没有进入$ .ajax部分,但我不确定我的结果是否准确)。

另外,jquery / ajax需要哪些库/其他设置才能工作?

这是我的输入按钮:" "

<script type="text/javascript">

    function POSTMethodCall() {
        alert("entered function");
        debugger;
        $.ajax({
            type: "GET",
            url: "http://localhost:1282/DispatchAcceptStatsService.svc/GetStr",
            //                data: JSON.stringify(),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                alert("entered success function");
            },
            error: {alert:"entered error function"}
        });

    }

</script>

更新:我认为我设法让它在那个错误陈述中打破。这是&#34;观察窗口的副本&#34;回应。但是,responseText似乎是空白的。 proto:function Empty(){} readyState:0 responseText:&#34;&#34; setRequestHeader:function(name,value){state:function(){status:0 statusCode:function(map){statusText:&#34; error&#34;成功:function(){then:function(doneCallbacks,failCallbacks,progressCallbacks){proto:Object - Tanuj Oruganti 22分钟前

但是这些是控制台窗口的内容:不推荐使用event.returnValue。请改用标准的event.preventDefault()。 jquery-1.7.1.js:3445选项localhost:1282 / DispatchAcceptStatsService.svc / GetStr 405(方法不允许)jquery-1.7.1.js:8102 XMLHttpRequest无法加载localhost:1282 / DispatchAcceptStatsService.svc / GetStr。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。 Origin&#39; localhost:62175&#39 ;;因此不允许访问。提交:1 - Tanuj Oruganti 2分钟前编辑

1 个答案:

答案 0 :(得分:0)

我的猜测是你得到了一个错误,但没有在正确的地方找到你的断点。跨过ajax调用不会做任何明显的事情,因为它是异步的。尝试在错误中添加调试器,如

<script type="text/javascript">

  function POSTMethodCall() {
    alert("entered function");
    debugger;
    $.ajax({
        type: "GET",
        url: "http://localhost:1282/DispatchAcceptStatsService.svc/GetStr",
        //                data: JSON.stringify(),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            alert("entered success function");
        },
        error: function(response) {
            debugger;
            alert("entered error function");
         }
    });

}

当它命中你的错误陈述时,检查响应。它应该有一个responseText属性,您可以检查错误。

我还将错误处理程序更改为正确的语法。一旦看到错误,如果您不明白这意味着什么,您可以重新发布问题或编辑错误。