如果URL具有www,则Ajax无法正常工作

时间:2015-10-22 06:29:21

标签: php jquery codeigniter

我有jquery代码发布到codeigniter中的页面 我的基本网址就像

http://example.com

如果用户访问我的网站,就像这个example.com这样可行但是如果用户访问 我的网站如www.example.com,然后ajax不起作用。 我的jquery代码是:

$.post( "<?php echo base_url();?>home/latestnew", {  page: page })
        .done(function( data ) {
            $("#pag_data").html( data );
    });

任何简单的技巧,使它适用于两种情况谢谢。

5 个答案:

答案 0 :(得分:1)

没有大问题

<{1>}中的

保持为空config/config.php

base_url
  

Cz Codeigniter自动加载$config['base_url'] = '';

答案 1 :(得分:0)

你可以这样做......

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div class="button_line">
                <a class="ol-md-6 menu_button" id="Residence">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="ResidenceText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, Residence %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="residence"></div>
                    </div>
                </a>
                <a class="ol-md-6 menu_button" id="#">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="CitizenshipText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, Citizenship %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="citizenship"></div>
                    </div>
                </a>
                <a class="ol-md-6 menu_button" id="#">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="FastSearchText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, FastSearch %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="fastsearch"></div>
                    </div>
                </a>
                <a class="ol-md-6 menu_button" id="#">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="CooperationText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, Cooperation %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="cooperation"></div>
                    </div>
                </a>
                <a class="ol-md-6 menu_button" id="#">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="ForIllegalsText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, ForIllegals %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="forillegals"></div>
                    </div>
                </a>
                <a class="ol-md-6 menu_button" id="#">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="SoonIllegalsText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, SoonIllegals %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="soonillegals"></div>
                    </div>
                </a>
                <a class="ol-md-6 menu_button" id="#">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="AboutAppText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, AboutApp %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="aboutapp"></div>
                    </div>
                </a>
                <a class="ol-md-6 menu_button" id="Settings">
                    <div class="border_overlay"></div>
                    <div class="menu_button_content">
                        <h2 id="SettingsText">
                            <asp:Literal runat="server" Text="<%$ Resources: Strings, Settings %>" />
                        </h2>
                        <div class="menu_button_color_rectangle" id="settings"></div>
                    </div>
                </a>
            </div>

答案 2 :(得分:0)


$.post( "<?php echo base_url();?>home/latestnew", {  page: page })
        .done(function( data ) {
            $("#pag_data").html( data );
    });

使用

$.post( "<?php echo base_url();?>home/latestnew", {  page: page })
        .done(function( data ) {
            $("#pag_data").html( data );
    });
它适用于我。在bowser中验证网址。

答案 3 :(得分:0)

很少需要注意的事情(可能没有必要解决您的问题):

  1. 使用site_url()而不是base_url()来创建路径。例如:site_url(&#39; controller_name / action_name / parameter_1&#39;); 使用base_url()来加载图像,css,js等资源

  2. 摆脱规范网址或妥善管理,否则可能会以错误的方式影响您网站的搜索引擎优化。 http://www.hyperarts.com/blog/www-vs-non-www-for-your-canonical-domain-url-which-is-best-and-why/

答案 4 :(得分:0)

example.comwww.example.com是不同的网站,其中的内容恰好相同。

您的服务器认为example.com是真实网站,所以当您说:

"<?php echo base_url();?>home/latestnew"

PHP输出:

"http://example.com/home/latestnew"

现在,如果浏览器在www.example.com上,它会看到该URL并认为您正在使用Ajax发出跨域请求。这是restricted by the same origin policy

您可以采取的最佳措施是不托管不同主机名上的重复网站。重新配置您的服务器,以便在您请求www.example.com时提供301重定向到example.com,而不是提供网站。

快速您可以做的是确保始终使用同一网站上的网址。变化:

 "<?php echo base_url();?>home/latestnew"

"/home/latestnew"

所以它是一个相对的URL。