http://en.wikipedia.org/wiki/JSONP#Script_element_injection
Выполнение вызова JSONP (другими словами, для использования этого шаблона использования) , требуется элемент сценария. Поэтому для каждого нового запроса JSONP браузер должен добавить (или повторно использовать) новый элемент - другими словами, вставить элемент в HTML DOM с требуемым значением для атрибута «src». Затем этот элемент оценивается, URL-адрес src извлекается и оценивается JSON-ответ.
blockquote>Теперь посмотрим на вашу ошибку:
Uncaught SyntaxError: Unexpected token & lt;
blockquote>
<
- это первый символ любого тэга html, возможно, это начало
, в данном случае, это , конечно , недопустимый JavaScript. И НЕТ, вы не можете использовать JSONP для извлечения html-данных.
Вместо того, чтобы переопределять OnStartup, попытайтесь использовать событие вместо этого:
<Application x:Class="My.App"
xmlns="..."
Startup="Application_Startup"
ShutdownMode="OnExplicitShutdown">
<Application.Resources>
<app:ServiceLocator x:Key="serviceLocator" />
</Application.Resources>
</Application>
Код позади:
public partial class App : Application
{
public App()
{ }
private void Application_Startup(object sender, StartupEventArgs e)
{
// TODO: Parse commandline arguments and other startup work
new MainWindow().Show();
}
}
Я столкнулся с похожей/такой же проблемой. Есть ошибка генерации кода в VS, когда код, необходимый для подключения
к остальной части программы, иногда не вставляется, когда
содержит только одну запись и не имеет атрибута StartupUri
.
Подробности: http://bengribaudo.com/blog/2010/08/19/106/bug-single-application-resources-entry-ignored (disclaimer--link points to my blog)