0

私は一般的にjQueryとWeb開発に非常に慣れていません。jQuery の「.getScript()」メソッドを使用して、特定の PHP ファイルに記述された 2 つの JavaScript スクリプトを読み込もうとしていますが、何か足りないと思います。(注:私を助ける可能性があるように見えるいくつかの異なる質問に気付きましたが、どれも役に立ちませんでした。知っているものがあれば、遠慮なくその方向に向けてください。ありがとう。)

これを Firebug でデバッグすると、「.getScript()」呼び出しにヒットし、実行せずに次の行にジャンプします。
これが私がそれをやろうとしている方法です:

jQuery.getScript("relative/path/to/script/phpScript.php", function(){
    alert("I'm HERE!");
    setValues(); // JavaScript function that's written by phpScript.php
});

この場合、JavaScript は「phpScript.php」ファイルによって生成され、「alert()」は実行されませんが、その理由はわかりません。何か案は?
別の質問の提案に従って、ある種の解析エラーが発生していることに気付きました。それを解決する方法がわかりません。そのためのコードは次のとおりです。

jQuery(document).ajaxError(function(event, request, settings){
      alert('error loading: ' + request.status + "\nevent: "+ event);
      for (var key in request){
          if (request.hasOwnProperty(key)) {
              alert(key + " -> " + request[key]);
          }
     }
});

ところで、「jQuery.noConflict();」で jQuery を実行しています。これが、省略形の "$()" 表記を使用しない理由です。

以下は、getScript() の GET 呼び出しからの応答本文のスニペットです。

<html><script type="text/javascript">
function setValues()
    jQuery("#formname").text(window.formNAME);
    jQuery("#Form_Path").text(window.formPATH);
    jQuery("#Form_DB").text(window.formDB);
    jQuery('#pertaining_to').text(window.pertainNAME);
    jQuery("#Pertain_To_ID").text(window.pertainID);
    jQuery("#Form_ID").text(window.formID);
    jQuery("#Field_ID").text(window.fieldName);
}
</script>

<head>

前もって感謝します、-
マーク

4

2 に答える 2

4

JS スクリプトをロードしている場合は、個別の関数として .js ファイル (例: jsscript.js) に書き込んでから、次の HTML 行を使用してみてください。

<script type='text/javascript' src='jsscript.js'></script>

次に、.getScript() を使用せずに関数自体を呼び出すことができます。(もちろん、スクリプトを呼び出すポイントの前に上記の行を配置する必要があります。)

これは、現在試みている方法よりもはるかにクリーンな方法のようです。

編集:現在の状況 (つまり、JS スクリプトを生成する PHP ページとスクリプトを呼び出す PHP ページ) を考えると、このようなことができるでしょうか?

//PHP page that generates the scripts
function gen_script() {
    //JS script generated into $script variable
    return $script;
}

//PHP page that calls the scripts
include ('generate.php');
echo gen_script();
于 2012-06-29T03:15:48.700 に答える
0

phpScript.phpファイルを次のように編集するだけでよいと思いました

function setValues(){
  jQuery("#formname").text(window.formNAME);
  jQuery("#Form_Path").text(window.formPATH);
  //...
}

それは大丈夫です。

于 2013-11-05T07:52:13.770 に答える