Вам не нужно использовать заголовок запроса Content-type
. Вместо этого между открытием XHR и его отправкой вы должны установить ajax.responseType = 'json'
в соответствии с этой документацией: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType [115 ]
Без установки responseType
тип возврата по умолчанию - простой текст, так что вы также можете оставить его как есть и просто добавить JSON.parse
в ваш обратный вызов, чтобы преобразовать строку JSON в объект. но зачем это делать, когда существует responseType
? : D
Я не знаю, поможет ли это Вам с 2008, но с Visual Studio 2005 и win32com, я могу сделать это:
>>> import win32com.client
>>> b = win32com.client.Dispatch('VisualStudio.DTE')
>>> b
<COMObject VisualStudio.DTE>
>>> b.name
u'Microsoft Visual Studio'
>>> b.Version
u'8.0'
К сожалению, у меня нет 2008 для тестирования со все же.
Можно попробовать собственную версию .NET, IronPython. Это имеет дополнение VS, IronPythonStudio.
Будучи языком .NET, можно получить доступ ко всем доступным блокам, включая Инструменты Visual Studio для Office.
В зависимости от того, что точно Вы пытаетесь сделать, AutoIt может удовлетворить Ваши потребности. На самом деле я уверен, что это сделает что угодно, что Вам нужен он, чтобы сделать.
Взятый из моего другого сообщения о том, как использовать AutoIt с Python:
import win32com.client
oAutoItX = win32com.client.Dispatch( "AutoItX3.Control" )
oAutoItX.Opt("WinTitleMatchMode", 2) #Match text anywhere in a window title
width = oAutoItX.WinGetClientSizeWidth("Firefox")
height = oAutoItX.WinGetClientSizeHeight("Firefox")
print width, height
Можно, конечно, использовать любую из функций AutoItX (обратите внимание, что та ссылка переходит к ссылке на функцию AutoIt, com версии AutoIt - AutoItX имеет подмножество того списка... документация включена в загрузку), таким образом. Я не знаю то, что Вы желаете сделать, таким образом, я не могу указать на Вас к соответствующим функциям, но это должно запустить Вас.
ryan_s знает правильный ответ. Вы можете переосмыслить использование win32com.
Я предпочитаю модуль comtypes, а не win32com. Он лучше подходит для ctypes и python в целом.
Использование любого подхода с vs 2008 будет работать. Вот пример, который выводит имена и сочетания клавиш для всех команд в Visual Studio.
import comtypes.client as client
vs = client.CreateObject('VisualStudio.DTE')
commands = [command for command in vs.Commands if bool(command.Name) or bool(command.Bindings)]
commands.sort(key=lambda cmd : cmd.Name)
f= open('bindings.csv','w')
for command in commands:
f.write(command.Name+"," +";".join(command.Bindings)+ "\n")
f.close()