我有一个看似荒谬的问题。我正在尝试从我的控制器设置WebApi基本服务URL并将其传递到前端/ jquery以在KendoGrid中使用。我似乎无法将模型中的字符串变量中的URL传递给我的jquery var而不会出现错误,例如:
ReferenceError: invalid assignment left-hand side
var crudServiceBaseUrl = "http://localhost:55607/api/StockSelectorWebApi?" + sea...
如果我UrlEncode它:
SyntaxError: identifier starts immediately after numeric literal
var crudServiceBaseUrl = http%3a%2f%2flocalhost%3a55607%2fapi%2fStockSelectorWeb...
我的查询如下:
var crudServiceBaseUrl = @Model.CrudBaseServiceUrl;
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl,
dataType: "json"
}
},
batch: true,
pageSize: 20,
schema: {
model: {
id: "WedNo",
fields: {
WedNo: { editable: false, nullable: true, type: "number" },
MillNo: { editable: false, nullable: true, type: "string" },
Location: { editable: false, nullable: true, type: "string" },
Stockholder: { editable: false, nullable: true, type: "string" },
Auths: { editable: false, nullable: true, type: "string" }
}
}
}
});
和我的模特:
model.CrudBaseServiceUrl = Server.UrlEncode("http://localhost:55607/api/StockSelectorWebApi?searchType=Arrival¶meterOne=" + model.Arrival);
编辑:奇怪的是我也尝试了
model.CrudBaseServiceUrl = "'URLHERE'";
和
model.CrudBaseServiceUrl = "'" + "URLHERE" + "'";
但两种方法都没有效果,但正如下面所指出的那样(在接受的答案中)只是这样做:
model.CrudBaseServiceUrl = "URLHERE";
然后
var crudServiceBaseUrl = '@Model.CrudBaseServiceUrl';
pffttt
答案 0 :(得分:1)
var crudServiceBaseUrl ='@ Model.CrudBaseServiceUrl'
基本上,如果你在javascript中使用来自服务器的字符串变量,你应该使用它们周围的引号。无需编码或任何东西。