2

一日中働いているとき、私はこのケースで非常に立ち往生しています:(。助けてください。

$http プロバイダーを使用して、他のドメインから ColdFusion ファイルを呼び出す Web サイトが必要です。これが cfm ファイルへのリンクだとしましょう:http://xample.com/getStockCodesTest.cfm


これは ColdFusion ファイルのサンプルです。

<cfcontent
type="application/json"
/>
{
    "items": [
        {
            "StockCode" : { "col": "Stock Code", "value": "0231" },
            "Qty" : { "col": "Qty", "value": "DS" },
            "QtyOn" : { "col": "Qty On", "value": "Branch" },
            "QtyVal" : { "col": "Qty Val", "value": "200" },
            "ReleasedDate" : { "col": "Released Date", "value": "0" },
            "S" : { "col": "S", "value": "0" },
            "Description" : { "col": "Description", "value": "adfasdf" },
        }
    ]
}

これはAngularコードです(私はcoffeescriptを使って書いています)

ajax = $http {
        url: 'http://xample.com/getStockCodesTest.cfm'
        method: 'JSONP'
        params: {
            callback: "JSON_CALLBACK"
        }
    }
    ajax.success (data, status, headers, config) ->
        console.log data

しかし、firebugをチェックするとき。常にエラーを返します:

ここに画像の説明を入力

では、そのようなコンテンツjsonを使用してテストColdFusionを記述し、angularjsを使用してWebにキャッチする正しい方法をどのように持つことができますか:(

4

2 に答える 2

4

あなたが何を求めているのか正確にはわかりません。しかし、JSON が無効なため、エラーが発生していると言えます。

ここに画像の説明を入力

そのコンマ、すぐそこ、それを削除します。無効な JSON になります。

于 2013-06-04T14:24:38.453 に答える
2

JSONP 呼び出しが AngularJS から行われる場合、JSON を入力関数名でラップする必要があります。それがエラーが表示される理由です。

JSONP 応答の例:

      /xxx.cfm?_jsonp=angular.callbacks._0 --- request

      //expected response is like this - a function from your coldfusion
      angular.callbacks._0([{"StockCode" : { "col":...

それはうまくいくでしょう。

于 2013-06-04T14:27:38.607 に答える