sails.jsのバックボーン

ホセ・ラモン

認証のために帆とパスポートを使用してサイトを作成しています。ただし、コードでのJqueryとバックボーンの使用に関しては問題があります。帆で使おうとすると、どちらもダウンしているようです。私がやろうとしていることは、ユーザー認証の後、すべてのスクリプトが存在するホームページにユーザーをルーティングすることです。たとえば、すべての.jsファイルをlayout.ejsに配置します。

<link rel="stylesheet" href="styles/bootstrap-theme.min.css">
<script type="text/javascript" src="js/jquery.js"></script>

ほとんどのcssファイルとjsファイルは機能しますが、バックボーンとjquery(およびjquerymobile)で問題が発生します。jQuery1.10.2とバックボーン1.1.0を使用しています。何が悪いのか考えてみませんか?

バックボーンコードでは、phpファイルを介してAjaxリクエストを作成しようとしています。

   var ProfileList = Backbone.Collection.extend({

                    model: ProfileModel,
                    url: 'data.php'
    });   

私は正確に何をしなければなりませんか?ルートにURLを追加するには?または、data.phpファイルをどこに配置する必要がありますか?

編集:jqueryを一番上に置いてgruntfile.jsを変更し、正常に動作します。現在、問題はバックボーンのままです。パスポートとバックボーンを使って別のドメインへのアクセスをリクエストしているので、問題が発生していると思います。data.phpでデータをリクエストしているときは、次のjqueryコードを呼び出しています。

xhr.send( ( s.hasContent && s.data ) || null ): jquery.js (line 8706)   

これはAjaxXMLHttpRequest送信リクエストhttp://www.w3schools.com/ajax/ajax_xmlhttprequest_send.aspです。私は通常、localhostとlocalhost:1337の2つのドメインからデータを要求しようとするため、クロスドメインの問題が発生します。cors(クロスオリジンリソースシェアリング)でこの問題を処理できることがわかりました。sails.jsでcorsを許可する方法はありますか?

編集:route.jsファイルでホームページのcorsをtrueに変換します:

'/secondscreen': {
view: 'secondsocialscreen/index',
cors: true  

}

それでも同じエラーが発生します。また、config /cors.jsファイルで変数AllRoutesをtrueに変更しました。バックボーンファイルは機能しますが(コンソールを使用してチェック)、データをフェッチできません。Config /cors.jsファイルは次のとおりです。

module.exports.cors = {

    // Allow CORS on all routes by default?  If not, you must enable CORS on a 
    // per-route basis by either adding a "cors" configuration object
    // to the route config, or setting "cors:true" in the route config to
    // use the default settings below.
    allRoutes: true,

    // Which domains which are allowed CORS access?
    // This can be a comma-delimited list of hosts (beginning with http:// or https://)
    // or "*" to allow all domains CORS access.
    origin: '*',

    // Allow cookies to be shared for CORS requests?
    credentials: true,

    // Which methods should be allowed for CORS requests?  This is only used
    // in response to preflight requests (see article linked above for more info)
    methods: 'GET, POST, PUT, DELETE, OPTIONS, HEAD',

    // Which headers should be allowed for CORS requests?  This is only used
    // in response to preflight requests.
    headers: 'content-type' 
    };

私は何かが足りないのですか?わかりました。何か見つけたと思います。実際、バックボーンコードが存在するfetching.js(data.phpからのデータのフェッチとmodel-controller-viewsの定義)を定義しているときに、home.ejsに転送しようとしています。このファイルをそのまま使用することは可能ですか、それとも帆からMVCを定義する必要がありますか?また、localhost:1337(セールサーバー)からデータを取得しようとしていることがわかりました。ただし、Apachelocalhostからデータをフェッチしたい。帆を走らせている間にApacheサーバーにデータを要求することはどのように可能ですか?Firebugで私は上記を受け取りました:

 GET http://localhost/sitec/fetchdata.php?widget=highlights 200 OK 47ms jquery.js (line 8706)
 GET http://localhost/sitec/fetchdata.php?widget=sentiment 200 OK 47ms jquery.js (line 8706)
 GET http://localhost/sitec/fetchdata.php?widget=tagsCloud 200 OK 47ms jquery.js (line 8706)

それに応じて、jsonデータのオブジェクト(data.phpはjsonファイルを返します)を使用する代わりに、実際にはdata.phpファイルのコードを見ることができます。奇妙な

アーロン

config / routers.jsを変更することにより、セールでCORSを使用します

module.exports.routes = {

'/ *':{cors:true}

}

ここに記載されています:http//sailsjs.org/#! documentation / config.routes

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事