VIEW部分:<script type="text/javascript">
 function ShowPic() {
        $.getJSON("/Home/GetURL/", function (data) { $("#Pic").html(data.toString()); });
    }
</script>
<p><a href="javascript:ShowPic()">浏览图片</a></p>
    <p><span id="Pic"></span></p>
控制器部分:
[HttpGet]
        public JsonResult GetURL()
        {
             var n= ImageURL ;
            return Json(n, JsonRequestBehavior.AllowGet);
        }
问题:我在控制器里设断点,发现我每次点击页面“浏览图片”时,并没有调用控制器的 GetURL(),是什么原因?怎样解决?

解决方案 »

  1.   

    jQuery.getJSON( url, [data], [callback] ) 
    在url和方法间加个null试试看
      

  2.   

    LZ首先你能提交到后台吗? 如果能,那你的提交方式看看是不是GET, 默认是为POST的,你最好在提交的时候带个提交类型,这样保证能和后台一致性。
      

  3.   

    第一次能读数据,后面就不行了。
    也就是说只能执行一次后面的GetURL()这是什么原因啊?
      

  4.   

    第一次能读数据,后面就不行了。
    也就是说只能执行一次后台的GetURL()这是什么原因啊?
      

  5.   

    href="javascript:void()" onclick="ShowPic()"
      

  6.   

    如果搂住不局限于get,可以试试postjs:  
      $.ajax({
            url: '/controller/GetDataAction/',
            type: 'POST',
            contentType: "application/json; charset=utf-8",
              success: function (data, textStatus, jXHR) {
                //
            },
            error: function (jXHR, textStatus, errorThrown) {
            }
        });-----------------------
    controller:
            [AcceptVerbs(HttpVerbs.Post)]
            public JsonResult GetDataAction()
            {
                return Json(data);
            }
      

  7.   


    第一是页面加载时候, 而提交是postback 两者完全不同, 所以你要搞清楚,我上面已说过了,怀疑你提交的方式与后台对应不上,如果都确认是post 的话,并且路径是对的话没道理提交不了的。