1

小さな問題があります。関数 A から関数 B に文字列の値を渡す必要があります。関数 B はそれを引数として受け取り、それを使用します。

私は以下を試しましたが、うまくいきません。

   // first function (A)
   $("a#SayHello").click(function (e) {
       e.preventDefault();

       var x = function () {
               var dt = '{"ProductID": "' + $("input#ProductID").val() + '" , "AffiliationURL": "' + $("input#AffiliationURL").val() + '" , "Quantitiy": "' + $("input#Quantitiy").val() + '" , "PricePerUnit": "' + $("input#PricePerUnit").val() + '" , "commissionAmount": "' + $("input#commissionAmount").val() + '"}';
               return dt.toString();
           };
       alert(x);
       $.B(x);
   });

   // second function
   function B(dt) {

       $.ajax({
           type: 'POST',
           data: dt,
           url: 'http://localhost:4528/WebSite1/WebService.asmx/InsertCommissionRecord',
           contentType: 'application/json; charset=utf-8',
           dataType: 'json',
           success: function (data, textStatus, XMLHttpRequest) {
               alert(data.d);
               alert(XMLHttpRequest);

           },
           error: function (XMLHttpRequest, textStatus, errorThrown) {
               alert(textStatus);
           }
       });
   };
4

3 に答える 3

0

B()他の単純な関数と同じように、「$。」なしでB関数を呼び出してみてください。

また、alert(dt)内部にB()関数を追加して、パラメーターからのデータを確認することもできます。

于 2012-07-18T11:33:53.880 に答える
0

それ以外の

$.B(x);

x() と B() をすぐに呼び出します。

B(x());


このように使用できるようにするB()$.B()は、関数を jQuery に追加する必要があります$

$.B = function(){...

また

jQuery.B = function(){...

しかし、汚染することは一般に推奨されません$。独自の名前空間を使用する方がはるかに優れています。

ここを参照してください: is-it-possible-to-create-a-namespace-in-jquery

于 2012-07-18T11:32:47.733 に答える