var = msg
$.get('json-signup-erros.php',{},function(data){msg=data},'json');
function focushint()
{
alert (msg) // this works
}
$("input").focus(focus);
alert(msg) //this doesnot work
誰でも私の背の高い方法はありますか?カントへのアクセス外のjquery
var = msg
$.get('json-signup-erros.php',{},function(data){msg=data},'json');
function focushint()
{
alert (msg) // this works
}
$("input").focus(focus);
alert(msg) //this doesnot work
誰でも私の背の高い方法はありますか?カントへのアクセス外のjquery
あなたは非同期のAJAXリクエストを作成しています。
msg
は、要求が行われた後にのみ値を含みます。
msg
を使用するコードは、Ajaxリクエストのsuccess
コールバック(function(data)
)に入れる必要があります。
(。そこasync: false
を使用して要求の同期を行うための理論的な可能性があるが、それは良い習慣ではありません、それはやむを得ないだ場合にのみ使用されるべきです)
私はペッカに同意する - あなたはこのような何かを考慮する必要があります。
var = msg;
$.get('json-signup-erros.php',{}, function(data, response)
{
if(response == "success")
{
msg = data;
alert(msg);
}
else
{
alert("Whoops something went wrong, please try again.");
}
},'json');
function focushint()
{
alert (msg); // this works
}
$("input").focus(focushint);
NB。私は$ .getに "成功"チェックを入れました。これはいつも見ています - あなたのAjax Httpリクエストが200応答を返すと仮定してはいけません!エラー(404,500,401)のために返されるデータがない場合、警告することはできません。また、else節を追加することで何か問題が発生したことをユーザーに警告することもできます。
var = msg;
$.get('json-signup-erros.php',{}, function(data, response)
{
if(response == "success")
{
msg = data;
alert(msg);
}
else
{
alert("Whoops something went wrong, please try again.");
}
},'json');
function focushint()
{
alert (msg); // this works
}
$("input").focus(focushint);
alert(msg); // this is still does not work
あなたが同じスコープに
私の答えを読む。 **これは範囲の問題ではありません。**これは、警告を出した時点で終了していない要求の問題です。 –
なりますfocushinのようなjQueryの関数の外MSGにアクセスしたい場合、私はどのように行うことができ、エラーMSGを取得し、JavaScriptを起動できるようにするwhantそれ? – dvdx
@dvdxあなたは成功コールバックに開始したいJavascriptを入れてください。 –
私は最初にデータを取得したいと思っていますし、サブミットから呼び出す関数のデータにアクセスする意思があります。 – dvdx