У меня проблема, которая кажется смешной. Я пытаюсь установить URL-адрес базового сервиса WebApi с моего контроллера и передать его в интерфейс /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);
EDIT: Как ни странно, я тоже попробовал
model.CrudBaseServiceUrl = "'URLHERE'";
а также
model.CrudBaseServiceUrl = "'" + "URLHERE" + "'";
Но ни один из них не работал, но, как было указано ниже (в принятом ответе), просто выполните:
model.CrudBaseServiceUrl = "URLHERE";
а потом
var crudServiceBaseUrl = '@Model.CrudBaseServiceUrl';
pffttt
var crudServiceBaseUrl = '@Model.CrudBaseServiceUrl'
в основном, если вы используете строковые переменные, поступающие с сервера в javascript, вы должны использовать кавычки вокруг них. нет необходимости кодировать или что-то еще.