未捕获的语法错误:意外标记<;——在jqueryajax中

未捕获的语法错误:意外标记<;——在jqueryajax中,jquery,asp.net,ajax,web-services,Jquery,Asp.net,Ajax,Web Services,我不熟悉web服务。在我的项目中,我现在连接了Web服务(一切都准备好了),当我尝试运行时,我得到了以下错误 错误--> Uncaught SyntaxError:Unexpected token解决了您的问题,因为您的站点和web服务正在两个不同的项目中运行 将Web服务和网站移动到同一个项目中,它应该可以工作 另外,您的javascript是错误的,应该是错误的 function GetAllCategories() { $.ajax({ url: "http://loca

我不熟悉web服务。在我的项目中,我现在连接了Web服务(一切都准备好了),当我尝试运行时,我得到了以下错误

错误-->


Uncaught SyntaxError:Unexpected token解决了您的问题,因为您的站点和web服务正在两个不同的项目中运行

Web服务和网站移动到同一个项目中,它应该可以工作

另外,您的javascript是错误的,应该是错误的

function GetAllCategories() {
   $.ajax({
      url: "http://localhost:12015/myWebService.asmx/GetCategories",
      type: "POST",
      dataType: "jsonp",
      data: "{}",
      contentType: "application/jsonp; charset=utf-8",
      success: function (data) {
          var categories = data.d;
          $.each(categories, function (index, category) {
              alert(category.CategoryId);
          });
      },
      error: function (e) {
          alert(e.message);
      }
   });
}
op位仅用于在web浏览器中进行测试。去掉这个,你就应该很好了

公平地说,PS@andyb不久前提出了这个答案,但不清楚这是否是问题所在! 更新

今天我一直在做一些关于这个的游戏,我已经澄清了一些我想分享的观点。您必须
POST
.asmx
服务,您不能跨域执行此操作。您可以跨域启动
GET
,但不能启动
POST
,因此我认为这是路由问题


您可以启用
GET
,请参阅。但这似乎是个坏主意,因为它会将您的Web服务暴露给所有人

不是对你问题的直接回答,但以下是我为解决类似问题所做的工作


问题是没有安装和配置
ASP.Net Ajax

确保没有
这可能是
POST
jsonp
的组合,如果没有一些黑客攻击,它们是不兼容的-请看,我没有做过任何
ASP.Net
,但可能会有所帮助。问题似乎是您使用的是
jsonp
,它将
回调=?
添加到URL的末尾。URL的处理程序(您的Web服务)也必须编码为返回填充响应,即封装在JavaScript函数调用中的响应。我怀疑您只是想对该URL执行一个简单的ajax
GET
,该URL只返回一个简单的JSON响应。@Liam错误500,如果我使用
URL:http://localhost:12015/myWebService.asmx/GetCategories“
和错误,
意外的令牌哇!那么,当您运行包含javascript的站点时,它的url是什么?开始了吗?如果没有,则无法执行此操作,它会破坏安全协议:。这就是@andyb在开始时说的。如果它是同一解决方案中的不同项目,它将是具有不同url的不同站点。+1抱歉,我无法参与聊天,但这似乎与上面问题中的评论一致:-)
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<Categories>  GetCategories()
{
    //Code
}
function GetAllCategories() {
   $.ajax({
      url: "http://localhost:12015/myWebService.asmx/GetCategories",
      type: "POST",
      dataType: "jsonp",
      data: "{}",
      contentType: "application/jsonp; charset=utf-8",
      success: function (data) {
          var categories = data.d;
          $.each(categories, function (index, category) {
              alert(category.CategoryId);
          });
      },
      error: function (e) {
          alert(e.message);
      }
   });
}