Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery未过帐数据_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript jQuery未过帐数据

Javascript jQuery未过帐数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在使用jQuery/AJAX正确发布数据时遇到了问题 我有以下几点 <script type="text/javascript"> function notifyPPAComplete() { $.ajax( { type: "POST", url: "PsychometricTest.aspx/UpdateDB", data: {'3'}, dataType: json,

我在使用jQuery/AJAX正确发布数据时遇到了问题

我有以下几点

<script type="text/javascript">
    function notifyPPAComplete() {
        $.ajax(
        {
        type: "POST",
        url: "PsychometricTest.aspx/UpdateDB",
        data: {'3'},
        dataType: json,
        success: success,
        contentType: application/json
        });
    }          
    $.post('PsychometricTest.aspx/UpdateDB', function(data) {
        alert ('success');
    });
</script>

函数notifyppapcomplete(){
$.ajax(
{
类型:“POST”,
url:“PsychometricTest.aspx/UpdateDB”,
数据:{3'},
数据类型:json,
成功:成功,
contentType:application/json
});
}          
$.post('PsychometricTest.aspx/UpdateDB',函数(数据){
警惕(“成功”);
});
我似乎也没有收到发帖后的提醒,有人能看到明显的问题吗


 <script type="text/javascript">
        function notifyPPAComplete() {
            $.ajax(
            {
            type: "POST",
            url: PsychometricTest.aspx/UpdateDB,
            data: {'3'},
            dataType: json,
            success: function(success){a = success},<-- here use the function() 
            contentType: application/json
            });
        }          
        $.post('PsychometricTest.aspx/UpdateDB', function(data) {
            alert (data); <-- here use the variable not the literal string
        });
    </script>
函数notifyppapcomplete(){ $.ajax( { 类型:“POST”, url:PsychometricTest.aspx/UpdateDB, 数据:{3'}, 数据类型:json, success:function(success){a=success},

函数notifyppapcomplete(){
$.ajax(
{
类型:“POST”,
url:PsychometricTest.aspx/UpdateDB,
数据:{3'},
数据类型:json,
success:function(success){a=success},
这是无效的javascript文本。您可以这样尝试:

data: JSON.stringify({ model: { foo: '3' } })
请注意
JSON.stringify
方法的用法,该方法将javascript文本序列化为JSON字符串。它本机内置于现代浏览器中。如果您需要支持传统浏览器,您可以包含该脚本

而且
contentType:application/json
是非常无效的javascript。应该是:

contentType: 'application/json'
另外:
dataType:json
无效。应为
dataType:'json'

因此,在一天结束时:

<script type="text/javascript">
    function notifyPPAComplete() {
        $.ajax({
            type: "POST",
            url: "PsychometricTest.aspx/UpdateDB",
            data: JSON.stringify({ model: { foo: '3' } }),
            dataType: 'json',
            success: function(result) {

            },
            contentType: 'application/json'
        });
    }          
</script>
其中MyModel:

public class MyModel
{
    public string Foo { get; set; }
}
这是无效的javascript文本。您可以这样尝试:

data: JSON.stringify({ model: { foo: '3' } })
请注意
JSON.stringify
方法的用法,该方法将javascript文本序列化为JSON字符串。它本机内置于现代浏览器中。如果您需要支持传统浏览器,您可以包含该脚本

而且
contentType:application/json
是非常无效的javascript。应该是:

contentType: 'application/json'
另外:
dataType:json
无效。应为
dataType:'json'

因此,在一天结束时:

<script type="text/javascript">
    function notifyPPAComplete() {
        $.ajax({
            type: "POST",
            url: "PsychometricTest.aspx/UpdateDB",
            data: JSON.stringify({ model: { foo: '3' } }),
            dataType: 'json',
            success: function(result) {

            },
            contentType: 'application/json'
        });
    }          
</script>
其中MyModel:

public class MyModel
{
    public string Foo { get; set; }
}

在您的代码段中,
notifyppapcomplete()
永远不会被调用,
$.post('PsychometricTest.aspx/UpdateDB
不会发布任何数据

还可以尝试在Firefox中使用,以更好地进行AJAX调试

应该是:

$.post('PsychometricTest.aspx/UpdateDB', { name: "John", time: "2pm" }, function(data) {
        alert ('success');
    });

其中,
{name:“John”,time:“2pm”}
是您要发布的数据。

在您的代码段中,
notifyppapcomplete()
从不被调用,
$.post('Psychormometrictest.aspx/UpdateDB
不发布任何数据

还可以尝试在Firefox中使用,以更好地进行AJAX调试

应该是:

$.post('PsychometricTest.aspx/UpdateDB', { name: "John", time: "2pm" }, function(data) {
        alert ('success');
    });

其中
{name:“John”,time:“2pm”}
是您要发布的数据。

第6行中应该会出现语法错误,您缺少引号是的,调用该函数时就像我在$.ajax之前添加了一个警报一样。这很有效,啊,对不起,我现在就添加它们。第6行中应该会出现语法错误,您缺少引号是的,调用该函数时就像我在之前添加了警报一样re$.ajax可以工作,啊,很抱歉我现在添加它们。你是对的,OP的数据参数格式不正确,但你不需要对数据参数进行字符串化。你可以将字符串或对象作为数据传递,jQuery将做正确的事情。@JAAulde,事实上你需要进行字符串化。ASP.NET就是这样工作的。他们希望有一个JSON请求。当然OP应该有e可能在他的问题中解释说他正在使用ASP.NET,并且他正在尝试调用PageMethod,因为这一事实对于不使用ASP.NET的人来说可能并不明显。OP应该在他的问题中使用适当的标记来清楚地说明他的情况。如果不这样做,他的问题对于不熟悉ASP.NET的人来说就完全没有意义了。我的缺点是ole抛出错误,“无效的web服务调用,参数:'model'缺少值”。@Liam,我已更新了答案。请尝试使用
data:JSON.stringify({model:{foo:'3'})
@DarinDimitrov-Hmmm,我在OP中没有看到任何关于ASP的内容,但我确实在他的URL中看到了,因为你提到了它。我对ASP一无所知,但如果某些服务器代码需要JSON序列化的输入集,那么你就必须进行字符串化。我只是说这不是jQuery本身的要求。你说的没错,OP的dat参数的格式不正确,但您不需要对数据参数进行字符串化。您可以将字符串或对象作为数据传递,jQuery将做正确的事情。@JAAulde,事实上您需要进行字符串化。ASP.NET就是这样工作的。他们需要一个JSON请求。当然,OP应该在他的问题中解释说,他正在使用ASP.NET,他正在尝试调用PageMethod,因为这一事实对于不使用ASP.NET的人来说可能并不明显。OP应该在他的问题中使用适当的标记来清楚地说明他的情况。如果不这样做,他的问题对不熟悉ASP.NET的人来说就完全没有意义了。我的控制台抛出了错误,“无效的web服务调用,缺少参数值:'model'。”@Liam,我已更新了答案。请尝试使用
data:JSON.stringify({model:{foo:'3'})
@DarinDimitrov-Hmmm,我在OP中没有看到任何关于ASP的内容,但我确实在他的URL中看到了,因为你提到了它。我对ASP一无所知,但如果某些服务器代码需要JSON序列化的输入集,那么你就必须进行字符串化。我只是说这不是jQuery本身的要求。然后接受这个问题或是说:I’你到底需要什么?然后接受这个问题,或者告诉我你到底需要什么