Для Laravel, если вы вставляете новую запись и вызываете $data->save()
, эта функция выполняет запрос INSERT и возвращает значение первичного ключа (т.е. id по умолчанию).
Вы можете использовать следующий код:
if($data->save()) {
return Response::json(array('status' => 1, 'primary_id'=>$data->id), 200);
}
Другим вариантом является поиск iframe на панели инструментов «Инструменты» разработчика (это должно быть выполнимо, даже если основной документ не отвечает из-за блокировки prompt
) - затем просто щелкните правой кнопкой мыши элемент iframe и удалите это, нет необходимости вводить любой Javascript. (или, если хотите, вы можете выбрать iframe с помощью querySelector
и удалить его, например, document.querySelector('iframe').remove()
)
Предполагая, что инструменты разработчика закрыты, нажмите esc
и f12
почти одновременно. Это должно открыть инструменты разработчика. Если он не будет продолжать пытаться, пока не сделает.
Когда они откроются, нажмите esc
и f8
. Повторите попытку, пока он не остановит выполнение JavaScript в какой-то произвольной точке кода.
Во вкладке «sources» найдите сгенерированный скрипт для того, что вы написали (случайно я не знаю, как это будет выглядеть в JSBin) и буквально удалите строку var name = prompt("Enter your name: ");
. Повторное нажатие f8
продолжит выполнение, как будто работает «новый» код. Это должно освободить вас для копирования / вставки кода с самого сайта, прежде чем обновлять страницу
Это что-то вроде хака и должно использоваться только в случаях, подобных разоблаченному в OP , но
Во всех реализациях используются целые числа как timerid ] , которые просто увеличиваются при каждом вызове.
Так что вы можете сделать, это очистить все тайм-ауты, которые были созданы на странице.
Для этого вам нужно сначала узнать, какой у нас таймрид, а затем вызывать cleatTimeout или clearInterval (они делают то же самое) в цикле, пока не достигнете последнего вызова:
function stopAllTimers() {
const timerid = setTimeout(_=>{}); // first grab the current id
let i=0;
while(i < timerid) {
clearTimeout(i); // clear all
i++;
}
};
btn.onclick = stopAllTimers;
// some stoopid orphan intervals
setInterval(()=>console.log('5000'), 5000);
setInterval(()=>console.log('1000'), 1000);
setInterval(()=>console.log('3000'), 3000);
const recursive = () => {
console.log('recursive timeout');
setTimeout(recursive, 5000);
};
recursive();
<button id="btn">stop all timeouts</button>