远程通过ajax向博客提交新帖子

时间:2013-05-05 13:14:23

标签: php ajax forms post

我使用这个Ajax邮政编码将帖子提交到blogsky博客托管中的博客。

var result = null;
var scriptUrl = "http://www.blogsky.com/cp/weblog/post.bs";

    $.ajax({    
         url: scriptUrl,
         type: 'post',
         data: ({txtTitle : 'BEHZAD', txtText : 'BEHZAD' , hidAction : 'Publish'}),
         dataType: 'jsonp',
         jsonp: 'jsonp_callback',
        async: false,
        success: function(data) {
                alert("success");
            },
             error: function(XMLHttpRequest, textStatus, errorThrown) {
           document.write(textStatus+" - "+errorThrown);
           }
         });

和博客页面中包含此表单。和博客托管不适合我的,我不能改变发送邮政编码。

<form action="http://www.blogsky.com/cp/weblog/post.bs" method="post">
        <table id="frmposttb">
            <tr>
                <td colspan="2"><input type="text" name="txtTitle" value="" style="width:320px;" maxlength="64" onkeypress="FKeyPress(event)" onkeydown="FKeyDown(event)" /></td>
            </tr>
            <tr>
                <td colspan="2" class="editor">
                    <textarea id="txtText" name="txtText" rows="1" cols="1" style="width: 545px; height: 290px"></textarea>
                </td>
            </tr>
            <tr>
            <input type="hidden" name="hidAction" value="Publish" />
                <td class="tdl"><input type="submit" value="SEND"></td>
            </tr>
        </table> 

但是当加载页面获得此erorr时

parsererror - 错误:未调用jQuery18203252281643505811_1367758980965

和页面滚动并重新加载。我使用其他dataType但仍然是错误

dataType: 'jsonp'
dataType: 'sonp'
dataType: 'html'
dataType: '....'

1 个答案:

答案 0 :(得分:-1)

$.ajax()电话中删除以下一行:

 jsonp: 'jsonp_callback',

此外,您不能将jsonp数据类型与同步调用async: false一起使用,如jquery $.ajax() docs中所述:

  

跨域请求和dataType:“jsonp”请求不支持同步操作。

所以请改用async: true,