@ru_laravel

Страница 18 из 39
Alexander
18.01.2017
10:47:36
так все воркает

Kirill
18.01.2017
10:50:42
{{ null or "qwe" }}

Dan
18.01.2017
10:52:10
может быть old('name') само по себе и содержит null но не является таковым?

var_dump ?

Google
Kirill
18.01.2017
10:57:18
{{ $a or "qwe" }} пишет "qwe"

Nikolay
18.01.2017
10:57:39
{{ isset(old('name')) ? old('name') : $product->name }}
Это тернарный оператор для blade

Не нужно так писать

Правильно через or

Dan
18.01.2017
10:58:09
почему правильно? можно и так и так

просто через or короче

в документации так и сказано

Kirill
18.01.2017
10:58:34
Из чего делаем вывод, что NULL не равно !isset, хотя isset(NULL) == false

Nikolay
18.01.2017
10:58:45
Ну да, зачем писать длиннее?

Dan
18.01.2017
10:59:01
полагаю что проверить можно для начала написав полную версию тернарного оператора

что в слове "проверить" не понятного было сказано?

?

Valery
18.01.2017
10:59:30
а в семёрке ещё можно ??

Google
Dan
18.01.2017
10:59:31
что за люди, читают через строчку ?

Nikolay
18.01.2017
10:59:38
Но зачем проверять?

если он делает тоже самое

В общем не суть

Dan
18.01.2017
10:59:50
но длинная запись работает, а короткая нет

как так

Alexander
18.01.2017
11:00:09
Дак я же проверил

через тернарный работает

{{ old('name') != null ? old('name') : $product->name }} так все ок

Nikolay
18.01.2017
11:01:10
а там null?

Alexander
18.01.2017
11:01:15
{{ isset(old('name')) ? old('name') : $product->name }} - так получаю ошибку Cannot use isset() on the result of an expression (you can use "null !== expression" instead)

Dan
18.01.2017
11:01:17
для того чтобы понять как работает синтаксический сахар с "короткой версией" тернарного оператора - надо смотреть исходный код лары

Alexander
18.01.2017
11:01:29
Valery
18.01.2017
11:01:42
может быть потому что null это всё же установленная переменная

Dan
18.01.2017
11:03:11
может быть

Nikolay
18.01.2017
11:04:29
Если там будет null

То должен отрабатывать правильно

Только что проверил на 5.3

Alexander
18.01.2017
11:06:55
Видимо какие-то странности именно с old('name')

Nikolay
18.01.2017
11:07:34
Тут чтото с выводом

Google
Dan
18.01.2017
11:07:43
var_dump(old('name')) ?

Nikolay
18.01.2017
11:07:47
Если мы передаем через переменную, то работает

Если как результат функции, то нет

Kirill
18.01.2017
11:08:06
А вы не все читаете, да?

Dan
18.01.2017
11:08:12
так вот похоже что name это результат функции

и isset поэтому не работает

Nikolay
18.01.2017
11:08:45
Kirill
18.01.2017
11:08:50
{{ null or "qwe" }} тоже пишет единицу

Nikolay
18.01.2017
11:08:53
ага

Kirill
18.01.2017
11:10:12
У меня сразу было подозрение, что этот синтакс шугар может работать не совсем так, как хотелось бы

Adel
18.01.2017
15:01:32
Никто случаем не использует Dingo API роутинг?

Sergey
18.01.2017
16:28:46
Гуру PHP, help pls

$_POST пустой, когда я обращаюсь по Ajax (post)

echo file_get_contents('php://input');

данные только тут не сервере есть

а массив сам пустой

Adel
18.01.2017
16:29:49
а что там за данные?

Sergey
18.01.2017
16:30:10
вообще json посылаю, но пробывал и строку и просто 1

$("#add-task-form").submit(function(e){ $.ajax({ url : "api/task/store", type : "POST", data : "hello", } }); });

$("#add-task-form").submit(function(e){ var task = JSON.stringify( $( this ).serializeArray()); $.ajax({ url : "api/task/store", type : "POST", data : "hello", dataType : task, success : function(data){ console.log("Success of ajax request"); console.log(data); }, error : function (xhr, b, c) { console.log("xhr=" + xhr + " b=" + b + " c=" + c); } }); });

Google
Sergey
18.01.2017
16:30:38
вот реальный

Adel
18.01.2017
16:30:42
data: [test: 'test']

Sergey
18.01.2017
16:31:48
Success of ajax request todo.local (строка 133) [{"name":"task","value":"Починить PHP"}]

echo json_encode(file_get_contents('php://input'));

это вот эта строка возвращает в нормальном варианте

Adel
18.01.2017
16:32:10
не надо велосипедить

сделай как я написал

Sergey
18.01.2017
16:33:02
Success of ajax request todo.local (строка 133) [test: "test"]

а $_POST пустой

https://www.sencha.com/forum/archive/index.php/t-90244.html вот тут парень описывает мою проблему 1 в 1

и вроде есть решение: The problem turned out to be in my configuration of JsonWriter - I did it with "encode: false". So the solution was putting "encode: true" config to the JsonWriter and PHP started getting POSTed values.

тольо я не могу понять где найти и как изменить конфиг JsonWriterа

Adel
18.01.2017
16:36:59
https://api.jquery.com/jquery.ajaxsetup/

Sergey
18.01.2017
16:38:29
спасибо)

Adel
18.01.2017
16:39:06
Заработало?

Sergey
18.01.2017
16:39:47
вроде да

$.ajax({ url : "api/task/store", type : "POST", data: task, encode: true, });

encode помог

Adel
18.01.2017
16:40:29
оно какбы по умолчанию включено

у тебя нгдето выключается чтоли...

Google
Sergey
18.01.2017
16:41:41
в соседней папке все работает

на другом проекте

а в этом нет)

Adel
18.01.2017
16:42:30
поиском можно попробовать найти место где отключается. если есть желание

Sergey
18.01.2017
16:43:21
все таки не до конца заработало

data: '[{"name": "task","value": "Починить PHP"}]',

с этими данными не идет

кавычки я убрал одинарные

var task = JSON.stringify( $( this ).serializeArray()); alert(task); $.ajax({ data: [{"name": "task","value": "Починить PHP"}],

получется если просто вручную значение пишу оно приходит на сервер

а если переменной то нет

я просто из алерта копирую значение переменной и я его вижу в $_POSTе, а как переенную подставляю, то нет

Adel
18.01.2017
16:59:05
data: {name: 'task', value: 'PHP'}

Sergey
18.01.2017
17:04:52
var task = JSON.parse(JSON.stringify($( this ).serializeArray()));

вот такая конструкция все парсит и все работает

Adel
18.01.2017
19:50:38
ты же понимаешь, что оно выворачивает наизнанку, а потом делает обратно?

Sergey
18.01.2017
19:59:54
Да

Но она рсботает)

Nikolay
19.01.2017
09:29:07
data: {name: 'task', value: 'PHP'}
Вот так дожно работать

Страница 18 из 39