Краткий ответ: ваш метод foo()
возвращается немедленно, а вызов $ajax()
выполняется асинхронно после возврата функции . Проблема заключается в том, как и где сохранить результаты, полученные при вызове async, после его возврата.
В этом потоке было задано несколько решений. Возможно, самый простой способ - передать объект методу foo()
и сохранить результаты в члене этого объекта после завершения асинхронного вызова.
function foo(result) {
$.ajax({
url: '...',
success: function(response) {
result.response = response; // Store the async result
}
});
}
var result = { response: null }; // Object to hold the async result
foo(result); // Returns before the async completes
Обратите внимание, что вызов foo()
] все равно не вернут ничего полезного. Однако результат асинхронного вызова теперь будет сохранен в result.response
.
У меня была такая же ошибка. В принципе, я подозреваю, что путь не может начинаться с «U» или «Пользователь» после «C: \». Я изменил свой каталог на «c: \ file_name.png», поставив файл, который я хочу получить из python, прямо по пути «c:».
В вашем случае, если вам нужно получить доступ папке «python», возможно, переустановите python и измените путь установки на что-то вроде «c: \ python». В противном случае просто избегайте «... \ User ...» на вашем пути и поставьте свой проект под C:.
Вам нужно использовать строку raw , удвоить свою косую черту или использовать слэши вместо:
r'C:\Users\expoperialed\Desktop\Python'
'C:\\Users\\expoperialed\\Desktop\\Python'
'C:/Users/expoperialed/Desktop/Python'
В обычных строках python комбинация символов \U
сигнализирует расширенный escape-код Unicode.
Вы можете поразить любое количество других проблем для любой из распознанных управляющих последовательностей , таких как \a
или t
или \x
, и др.
Это обычно происходит в Python 3. Одна из распространенных причин заключалась в том, что при указании пути к файлу вам нужно «\\» вместо «\». Как в:
filePath = "C:\\User\\Desktop\\myFile"
Для Python 2 будет работать только «\».
C:\\Users\\expoperialed\\Desktop\\Python
Этот синтаксис работал для меня.
f = open ('C: \\ Users \\ Pooja \\ Desktop \\ trolldata.csv') ... Используйте '\\' для программы python в версии python версии 3 и выше .. Ошибка будет разрешена. .
Используйте этот параметр
os.chdir('C:/Users\expoperialed\Desktop\Python')
Все три синтаксиса работают очень хорошо.
Другой способ - сначала написать
path = r'C: \ user \ .......... ......... '(каков бы ни был путь для вас)
, а затем передать его в os.chdir (путь)