未捕获的语法错误:意外标记<;——在jqueryajax中
我不熟悉web服务。在我的项目中,我现在连接了Web服务(一切都准备好了),当我尝试运行时,我得到了以下错误 错误-->未捕获的语法错误:意外标记<;——在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
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执行一个简单的ajaxGET
,该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);
}
});
}