小编Sah*_*tta的帖子

jQuery .get错误响应函数?

感谢StackOverflow,我设法让以下代码完美运行,但我有一个跟进问题.

$.get('http://example.com/page/2/', function(data){ 
  $(data).find('#reviews .card').appendTo('#reviews');
});
Run Code Online (Sandbox Code Playgroud)

上面的代码使我的网站能够在WordPress中使用"加载更多"按钮获取第二页文章.但是,当网站用完页面/结果时,我遇到了一个小问题.加载更多按钮保持不变.即使没有剩余页面,它也会继续尝试获取数据.

我如何调整此命令,以便在.get请求失败或是(404)未找到页面时显示可视响应?

如果有人可以用一个简单的例子来帮助我,即使是一个alert("woops!");非常棒的例子!

谢谢!

jquery

67
推荐指数
4
解决办法
10万
查看次数

jQuery .load可以追加而不是替换吗?

我有一个WordPress安装,我正在尝试使用jQuery创建一个Load More效果.我在使用页面片段的基本.load功能时遇到了一些麻烦.我不介意使用.get,因为我在这里看到一些线程,认为这是一个更好的解决方案.

这是我的页面URL结构和内容:

第一页: http://example.com/page/1/

HTML:

<div id="articles">
  <div class="story">blah blah blah</div>
  <div class="story">blah blah blah</div>
  <div class="story">blah blah blah</div>
  <div class="story">blah blah blah</div>
</div>
Run Code Online (Sandbox Code Playgroud)

第二页: http://example.com/page/2/

HTML:

<div id="articles">
  <div class="story">blah blah blah</div>
  <div class="story">blah blah blah</div>
  <div class="story">blah blah blah</div>
  <div class="story">blah blah blah</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我在页面底部有一个链接,我尝试过以下操作:

jQuery(#articles).load('http://example.com/page/2/ #articles');
Run Code Online (Sandbox Code Playgroud)

可悲的是,有两个问题.首先,.load函数#articles div从第二页抓取它的内容并将其放入现有的内容中#articles div.这意味着,即使这是有效的,每次点击都会产生div内的递归div.这太乱了.

是否有人可以帮助我将命令.story classes从第二页添加到#articles div第一页上?我可以用WordPress之后的变量,循环和PHP来计算自动化的后勤.只需要适当的jQuery脚本一些帮助.

PS Bonus问题:如果有人知道jQuery .load/.get是否会损害浏览量,这对于那些有广告收入的人来说非常重要,请告诉我们!如果每个.load/.get都算作Google Analytics的另一个点击,我们就会很好!

谢谢!

jquery wordpress-theming jquery-load

15
推荐指数
1
解决办法
1万
查看次数

使用ForeignKey保存Django ModelForm

这可能是一个相当简单的问题,但我似乎无法从Django Docs中找到它.我试图一次保存两个ModelForms,其中一个是另一个的ForeignKey.我不确定如何在视图中编写逻辑以确保这些逻辑正确地结合在一起.

models.py

class Address(models.Model):
    address = models.CharField(max_length=100)
    city = models.CharField(max_length=50)
    zipcode = models.PositiveIntegerField()

class Store(models.Model):
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=140, blank=True)
    address = models.ForeignKey(Address, null=True)
Run Code Online (Sandbox Code Playgroud)

forms.py

class CreateStore1Form(forms.ModelForm):
    class Meta:
        model = Store
        exclude = ('address',)

class CreateStore2Form(forms.ModelForm):
    class Meta:
        model = Address
Run Code Online (Sandbox Code Playgroud)

views.py

@login_required
def create(request):
    if request.method == "POST":
        form1 = CreateStore1Form(request.POST)
        form2 = CreateStore2Form(request.POST)
        if form1.is_valid() and form2.is_valid():
            store = form1.save(address)
            new_address = form2.save(commit=False)
            new_address.store = store
            mew_address.save()
    else:
        form1 = CreateStore1Form()
        form2 = CreateStore2Form() …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-views

8
推荐指数
1
解决办法
1万
查看次数

问题异步加载Google +1小部件

我正在开发的网站上有一些小部件,我从javascript文件中异步加载它们,所以它不会阻止DOM完成.

例如,我使用Digg和Buzz小部件执行此操作,它工作正常:

// Buzz Share
function buzzShare() {
    $jQ('.sharebox').append('<div class="widget"><a title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count"></a></div>');
    $jQ.getScript('http://www.google.com/buzz/api/button.js');
}
// Digg Share
function diggShare() {
    $jQ('.sharebox').append('<div class="widget"><a class="DiggThisButton DiggMedium"></a></div>');
    $jQ.getScript('http://widgets.digg.com/buttons.js');
}
Run Code Online (Sandbox Code Playgroud)

对于新的Google +1小部件,相同的逻辑不起作用:

// PlusOne Share
function plusOneShare() {
    $jQ.getScript('http://apis.google.com/js/plusone.js');
    $jQ('.sharebox').append('<div class="widget"><div class="g-plusone" data-size="tall" data-count="true"></div></div>');
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用HTML5标签和<g:plusone></g:plusone>.都没有工作.

以下是刚推出的服务的文档:http://code.google.com/apis/+1button/

我还注意到,如果将脚本直接嵌入到HTML中,您可以执行以下操作.

 <script type="text/javascript" src="https://apis.google.com/js/plusone.js">
      {"parsetags": "explicit"}
    </script>
Run Code Online (Sandbox Code Playgroud)

有没有办法在{"parsetags": "explicit"}jQuery中使用参数.getScript

PS我也尝试在plusOneShare功能中切换第一行和第二行,但这两行都不起作用.

谢谢!

jquery google-buzz google-plus-one

5
推荐指数
1
解决办法
4042
查看次数