Как только вы перенаправите страницу A (начальную страницу) на страницу B (новую страницу), JavaScript на странице A прекратит работу, и страница B вступит во владение. Если вы хотите показать вычисленное значение в качестве предупреждения, предупреждение должно быть перед перенаправлением страницы. Измените порядок кода следующим образом:
function Calculate () {// Если строка ниже прокомментирована, мой код ниже работает, в противном случае нет.
var ps = require("python-shell")
var path = require("path")
var num1= document.getElementById("num1").value
var num2 = document.getElementById("num2").value
// Shows calculated result as an alert here.
//redirect after alert
window.location = "resultpage.html";
// FURTHER CODE BELOW //
Еще одна вещь, которую стоит отметить, это то, что элементы num1 и num2 на странице A больше не будут отображаться на странице B. Если вы хотите выполнить вычисление на странице B, вам нужно будет отправить это данные как часть URL-адреса в качестве параметра, если вы хотите, чтобы он был доступен, а затем либо заполните поля на странице правильными значениями, либо измените свой javascript для чтения значений из параметров.
станд.:: строка или станд.:: wstring, в зависимости от Ваших потребностей. Почему?
массив C-стиля А символов просто напрашивается на неприятности. Необходимо будет все еще иметь дело с ними при случае (и это что станд.:: строка c_str () для), но, честно - одной из самых больших опасностей в C являются программисты, делающие Плохие Вещи с символом* и заканчивающие переполнение буфера. Просто не делайте этого.
массив wchar __ t является тем же самым, просто больше.
CString, BSTR и CComBSTR не являются стандартными и не портативными. Избегайте их, если абсолютно не вызвано. Оптимально, просто преобразуйте станд.:: строка/станд.:: wstring им при необходимости, которые не должны быть очень дорогими.
Примечание, что станд.:: строка является просто дочерним элементом станд.:: basic_string, но Вы - все еще более обеспеченный станд. использования:: представьте в виде строки, если у Вас нет действительно серьезного основания не к. Действительно Хороший. Позвольте компилятору заботиться об оптимизации в этой ситуации.
Если можно использовать MFC, используйте CString. Иначе используйте станд.:: строка. Плюс, станд.:: представьте работы в виде строки над любой платформой, которая поддерживает стандартный C++.
Вот статья, сравнивающая наиболее распространенные виды строк в C++ и как преобразовать между ними. Строки Распутывания в Visual C++
станд.:: представьте в виде строки, если я не должен называть API, который конкретно берет одного из других, что Вы перечислили.
Я использую std::string
(или basic_string<TCHAR>
) каждый раз, когда я могу. Это довольно универсально (точно так же, как CStringT
), это безопасно с точки зрения типов (в отличие от этого printf
), и это доступно на каждой платформе.
станд.:: строка !!
существует причина, почему они называют ее "Стандартом".
basic_string является деталью реализации и должен быть проигнорирован.
BSTR & CComBSTR только для interOp с COM, и только в настоящий момент interop.
станд.:: строка и станд.:: wstring, если я могу, и что-то еще, если я имею к.
Они не могут быть прекрасными, но они хорошо протестированы, хорошо поняты и очень универсальные. Они играют приятно с остальной частью стандартной библиотеки, которая является также огромной премией.
Также стоящий упоминания, stringstreams.
Unicode является будущим. Не используйте символ* и станд.:: строка.), я устал от ошибок локализации.
станд.:: строка лучше чем ничего, но это является раздражающим, который это пропускает, основная функциональность любят разделение, соединение и даже достойный вызов формата...
Мне нравится использовать TCHAR, который является определением для wchar или символа согласно настройкам проектов. Это определяется в tchar.h, где Вы можете найти все связанные определения для функций и вводите Вас потребность.
При использовании MFC используйте CString. Иначе я соглашаюсь с большинством других, станд.:: строка или станд.:: wstring полностью.
Microsoft, возможно, сделала миру огромное одолжение путем добавления станд.:: basic_string< TCHAR> перегрузки в их последнем обновлении MFC.
Массивы символов C-стиля имеют свое место, но если Вы используете их экстенсивно, Вы просите напрасно тратить время, отлаживая прочь ошибками. Нам адаптировали наш собственный строковый класс для использования в нашем (встроенная среда разработки).
Мы не используем станд.:: представьте в виде строки, потому что это не всегда доступно для нас.
Другой, станд.:: wstring.
станд.:: строка является технологией 20-го века. Используйте Unicode и продайте 6 миллиардам человек вместо 300 миллионов.
Я - QT dev, поэтому конечно, я склонен использовать QString, когда это возможно, :).
Это довольно хорошо: unicode совместимое, ориентированное на многопотоковое исполнение неявное совместное использование (иначе копия на записи), и это идет с API, разработанным для решения практических реальных проблем (разделение, соединение, замена (с и без regex), преобразование в числа...)
, Если я не могу использовать QString, затем станд.:: wstring. Если Вы застреваете с C, я рекомендую бойкий GString.
Когда у меня есть выбор (я обычно не делаю), я склонен использовать станд.:: строка с кодировкой UTF-8 (и справка библиотека UTF8 CPP. Не то, чтобы мне нравится станд.:: строка так очень, но по крайней мере это стандартно и портативно.
Unfortunatelly, почти во всех реальных проектах я продолжил работать, были внутренние строковые классы - большинство из них на самом деле лучше, чем станд.:: строка, но все еще...